使用单个正则表达式可以找到错误的分隔符:
Gary Numan- Cars.mp3 // match
Gary Numan -Cars.mp3 // match
Gary Numan-Cars.mp3 // match
但不是" - ",这是正确的。
Gary Numan - Cars.mp3
因此可以使用简单的替换来改变:
Gary Numan- Cars.mp3 ---> Gary Numan - Cars.mp3
Gary Numan - Cars.mp3 ---> Gary Numan - Cars.mp3
Gary Numan-Cars.mp3 ---> Gary Numan - Cars.mp3
我已经得到了以下内容,但它与所有内容相匹配。 - 我可以做到这一点两次通过我确定它现在只有一个。
Reginald X. Pression你在哪里?
/(\s{1}-|-\s{1}|-)/gi
答案 0 :(得分:5)
您可以使用此正则表达式:
/-\S|\S-/g
此正则表达式使用交替匹配-
,前面是非空格或后跟非空格。
编辑:根据您编辑的部分,您可以使用此replace
:
input = input.replace(/\s*-\s*/g, ' - ');