我正在寻找一个整洁的正则表达式解决方案来代替
只有一个空格
对于那些在家里玩的人(以下确实有效)
text.replace(/[^a-z0-9]/gmi, " ").replace(/\s+/g, " ");
我的想法是正则表达式可能足够强大,可以在一个语句中实现这一点。我认为我需要的组件是
[^a-z0-9]
-删除非字母数字字符但是,我似乎无法以正确的方式设置正则表达式的样式(以下内容不起作用)
text.replace(/[^a-z0-9]|\s+|\r?\n|\r/gmi, " ");
输入
234&^%,Me,2 2013 1080p x264 5 1 BluRay
S01(*&asd 05
S1E5
1x05
1x5
期望输出
234 Me 2 2013 1080p x264 5 1 BluRay S01 asd 05 S1E5 1x05 1x5
由于[^a-z0-9]
字符类包含所有非alnum字符,因此它也包含白色字符!
text.replace(/[^a-z0-9]+/gi, " ");
乔尼5号比我快。我打算建议使用\W
而不使用\s
作为文本。替换(/\W/g,“”)
。这也涵盖了空白。
请注意,\W
保留下划线。[^A-zA-Z0-9]
的一个简短等价物是[\W\uz]
text.replace(/[\W_]+/g," ");
\W
是[A-Za-z0-9_]
单词字符(包括下划线)的速记\w
的否定
例如regex101。通用域名格式
所有非字母数字字符 所有换行符 空白的所有多个实例 只有一个空格 对于那些在家里玩的人(以下方法确实管用) 我的想法是,正则表达式可能足够强大,可以在一个语句中实现这一点。我认为id需要的组件是 -删除非字母数字字符 -匹配任何空格集合 -匹配所有新行 -全局、多行、不区分大小写 然而,我似乎无法以正确的方式来设置正则表达式(以下操作不起作用) 输入 所需输出
我有这个regex来删除所有非字母数字字符。 添加到此行的任何帮助,以用单个空格替换所有多个空格。
我希望使用正则表达式尝试删除字符串中的所有非字母数字字符,并用 我只想允许基本上按字母顺序排列的单词A-Z和 这是专门准备字符串成为URL的一部分,因此需要符号而不是空格。 我已经查看了< code>/\W /,但是这将删除所有空格和字母数字字符,而我希望尽可能保留空格,然后用符号替换。 我已经搜索了一下,但我似乎找不到一些东西,我希望有人能对此有任何简单的建议。 示例字符串
问题内容: 我尝试使用此功能,但没有成功- 问题答案: 使用。 注意:删除了空格,因为通常不将其视为字母数字。
在无数类似的SO问题中,没有一个是针对字符替换而不是剥离,另外还针对所有非ASCII字符而不是某个特定字符。
问题内容: 我需要将所有非字符替换为一个空格。令我惊讶的是,这在Python中并不是一件容易的事,除非我丢失了某些东西。以下功能仅删除所有非ASCII字符: 并且该字符将非ASCII字符替换为根据字符代码点中字节数量的空格数量(即,–字符替换为3个空格): 问题答案: 你的表达式正在过滤,删除任何非ASCII的内容;你可以改用条件表达式: 这将一个接一个地处理字符,每个替换字符仍将使用一个空格。