我正在尝试编写一个正则表达式来将所有空格和逗号替换为 |
。
例如:
809163294,12345678 12345678, 12345678
应该变成:
809163294|12345678|12345678|12345678
。
我正在努力处理正则表达式,但得到了 809163294||12345678|12345678|12345678
。
可以创建一个脚本来执行我想要的操作,但它看起来不优雅如何使用正则表达式。
'809163294,12345678 12345678, 12345678'.replace(/\W/g, ' ').split(' ').filter(Boolean).join('|')
如何更改代码以创建更优雅、更具可读性的解决方案?
最佳答案
这里是:您可以定义一个字符类(用“[]”插入您需要的所有字符,在本例中为\s(所有空格)和逗号。在字符类后面添加“+”表示该正则表达式必须找到一个或多个字符,因此如果您有“,”,所有字符都将被替换为一个“|”
console.log('809163294, 12345678 12345678 12345678'.replace(/[\s,]+/g,'|'))
P.s.修复了错误输入\W 代替\s,抱歉
关于javascript - 用正则表达式替换我不优雅的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46955995/