我有许多这样格式化的字符串:
文森特·梵高-圣保罗医院的花园(秋季)- 12345
我正在尝试使用javascript将字符串更改为此:
Vincent-van-Gogh-Saint-Pauls-Hospital-Leaf-Fall-12345的花园
我本质上是想从标题中删除,'()
,将“-”和空格更改为“-”。
我可以这样删除标点符号:
str.replace(/[,'()]/g,"");
所以我尝试过这种方法,以摆脱该空格破折号:
replace(/[ - ]/g,"");
但是最后我得到了这个
VincentvanGogh-圣保罗医院的花园(秋季)-12345
答案 0 :(得分:7)
您正在使用字符类[ - ]
,其范围从空白到空白。您可以删除其中一个空格,然后重复一次或多次[ -]+
,并用破折号代替:
let str = "Vincent van Gogh - The Garden of Saint Paul's Hospital (Leaf-Fall) - 12345";
console.log(str.replace(/[,'()]/g,"").replace(/[ -]+/g, '-'));