将所有非字母数字字符、新行和多个空格替换为一个空格
2022-08-30 01:58:28
我正在寻找一个整洁的正则表达式解决方案来替换
- 所有非字母数字字符
- 所有换行符
- 空白的所有多个实例
具有单个空间
对于那些在家玩的人(以下确实有效))
text.replace(/[^a-z0-9]/gmi, " ").replace(/\s+/g, " ");
我的想法是正则表达式可能足够强大,可以在一个语句中实现这一点。我认为我需要的组件是
-
[^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