reg表达式替换不替换space-dash-space

时间:2017-12-08 02:21:34

标签: jquery regex

我试图删除任何非字母数字字符,并用下划线替换任何空格。

myString = myString.replace(/ [^ a-zA-Z 0-9] + / g,'')。replace(""," _&#34);

这几乎就是这样,但在一种情况下仍然失败:

12th Madison - 100 

变为

12th_Madison  100

我想要的是:

12th_Madison_100

3 个答案:

答案 0 :(得分:3)

第二个替换方法仅替换第一次出现的空格,因为您将字符串作为模式传递,请参阅docs here;如果您想全局替换,可以使用正则表达式rendezvous/\s+/g,具体取决于您是否要折叠连续的空格:

/\s/g

答案 1 :(得分:1)

您的意思是将空间包含在

  

/ [^ a-zA-Z 0-9] + / g

答案 2 :(得分:1)

我建议:

result = subject.replace(/[^\w]+/g, "_");

[^\w] ...匹配不是单词字符的单个字符(仅限ASCII字母,数字或下划线)