我试图删除任何非字母数字字符,并用下划线替换任何空格。
myString = myString.replace(/ [^ a-zA-Z 0-9] + / g,'')。replace(""," _&#34);
这几乎就是这样,但在一种情况下仍然失败:
12th Madison - 100
变为
12th_Madison 100
我想要的是:
12th_Madison_100
答案 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字母,数字或下划线)