只有一个空格
对于那些在家里玩的人(以下方法确实管用)
text.replace(/[^a-z0-9]/gmi, " ").replace(/\s+/g, " ");
我的想法是,正则表达式可能足够强大,可以在一个语句中实现这一点。我认为id需要的组件是
[^A-Z0-9]
-删除非字母数字字符\s+
-匹配任何空格集合\r?\n\r
-匹配所有新行/GMI
-全局、多行、不区分大小写然而,我似乎无法以正确的方式来设置正则表达式(以下操作不起作用)
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
请注意,\w
会留下下划线。[^A-ZA-Z0-9]
的简短等价物是[\w_]
text.replace(/[\W_]+/g," ");
\w
是对[A-Za-z0-9_]
字字符(包括下划线)的速记\w
的否定
regex101.com上的示例
我正在寻找一个整洁的正则表达式解决方案来代替 所有非字母数字字符 所有换行 空白空间的所有多个实例 只有一个空格 对于那些在家里玩的人(以下确实有效) 我的想法是正则表达式可能足够强大,可以在一个语句中实现这一点。我认为我需要的组件是 -删除非字母数字字符 但是,我似乎无法以正确的方式设置正则表达式的样式(以下内容不起作用) 输入 期望输出
我有这个regex来删除所有非字母数字字符。 添加到此行的任何帮助,以用单个空格替换所有多个空格。
问题内容: 我尝试使用此功能,但没有成功- 问题答案: 使用。 注意:删除了空格,因为通常不将其视为字母数字。
在无数类似的SO问题中,没有一个是针对字符替换而不是剥离,另外还针对所有非ASCII字符而不是某个特定字符。
这应该只得到数字和返回,但不做它作为预期的!有什么建议吗?
我希望使用正则表达式尝试删除字符串中的所有非字母数字字符,并用 我只想允许基本上按字母顺序排列的单词A-Z和 这是专门准备字符串成为URL的一部分,因此需要符号而不是空格。 我已经查看了< code>/\W /,但是这将删除所有空格和字母数字字符,而我希望尽可能保留空格,然后用符号替换。 我已经搜索了一下,但我似乎找不到一些东西,我希望有人能对此有任何简单的建议。 示例字符串