Javascript 用正则表达式替换我不优雅的代码

Javascript 用正则表达式替换我不优雅的代码,javascript,regex,Javascript,Regex,我正在尝试编写一个正则表达式来替换中的所有空格和逗号。 例如: 80916329412345678 12345678、12345678 应改为: 809163294 | 12345678 | 12345678 | 12345678 我正在努力使用正则表达式,但得到了809163294 | | 12345678 | 12345678 | 12345678 可以创建一个脚本,将做我想要的,但它看起来不优雅如何可以使用正则表达式 '809163294,12345678 12345678, 123456

我正在尝试编写一个正则表达式来替换
中的所有空格和逗号。 例如:


80916329412345678 12345678、12345678

应改为:

809163294 | 12345678 | 12345678 | 12345678

我正在努力使用正则表达式,但得到了
809163294 | | 12345678 | 12345678 | 12345678

可以创建一个脚本,将做我想要的,但它看起来不优雅如何可以使用正则表达式

'809163294,12345678 12345678, 12345678'.replace(/\W/g, ' ').split(' ').filter(Boolean).join('|')

如何更改代码以创建更优雅、更可读的解决方案?

只需使用以下正则表达式:

var x='80916329412345678 12345678'。替换(/[\s\,]+/g,“|”);

控制台日志(x)只需使用以下正则表达式:

var x='80916329412345678 12345678'。替换(/[\s\,]+/g,“|”);

控制台日志(x)您可以将一个
+
用于多个非单词字符,并用管道替换组

var字符串='80916329412345678 12345678 12345678';

console.log(string.replace(/\W+/g,|')您可以将一个
+
用于多个非单词字符,并用管道替换组

var字符串='80916329412345678 12345678 12345678';

console.log(string.replace(/\W+/g,|')这里是:您可以定义一个字符类(使用“[]”插入您需要的所有字符,在本例中为\s(所有类型的空格)和逗号。在字符类后添加“+”表示regexp必须找到一个或多个字符,因此如果有,“所有字符都将替换为一个”|”


console.log('80916329412345678 12345678.replace(/[\s,]+/g,“|”)
这里是:您可以定义一个字符类(使用“[]”插入您需要的所有字符,在本例中是\s(所有类型的空格)和逗号。在字符类后添加“+”表示regexp必须找到一个或多个字符,因此如果有“,”所有字符将替换为一个“|”


console.log('80916329412345678 12345678.replace(/[\s,]+/g,“|”)
IMO你不需要正则表达式。replace(/\s,/g,“|”)你只需要分隔数字吗?如果字符串的开头或结尾有逗号怎么办?IMO你不需要正则表达式。replace(/\s,/g,“|”)您是否只有数字要分隔?如果字符串的开头或结尾有逗号怎么办?
80916329412345678 12345678 12345678、12345678
@JeremyThille:谢谢您的建议!添加了对regexp功能的描述:)
80916329412345678 12345678 12345678,12345678
@JeremyThille:谢谢你的建议!添加了一个关于regexp功能的描述:)这是有效的,我想知道为什么它被默默地否决了。我也不明白。如果遗漏了一些小细节或有人提前5秒发布了答案,人们只需在几秒钟内对所有内容进行否决即可:/我认为这是否决票(不是我),因为没有解释它是如何工作的,正如@JeremyThille讽刺地指出的那样;)(至少罗伯托得到了:)下层选民永远不应该保持沉默。他们没有建设性,只是留下了一种不愉快的感觉。关心的人不能从他们的错误中吸取教训。我一直说,出于教育目的,我们应该迫使选民说出他们为什么要投反对票。(我总是这么做)这很有效,我想知道为什么它被默默地否决了。我也不明白。如果遗漏了一些小细节或有人提前5秒发布了答案,人们只需在几秒钟内对所有内容进行否决即可:/我认为这是否决票(不是我),因为没有解释它是如何工作的,正如@JeremyThille讽刺地指出的那样;)(至少罗伯托得到了:)下层选民永远不应该保持沉默。他们没有建设性,只是留下了一种不愉快的感觉。关心的人不能从他们的错误中吸取教训。我一直说,出于教育目的,我们应该迫使选民说出他们为什么要投反对票。(我总是这样)