字符串替换为多个dahses和空格

Siw*_*wap 3 javascript

我有很多字符串像这样格式化:

文森特梵高 - 圣保罗医院花园(Leaf-Fall) - 12345

而我正在尝试使用javascript更改字符串:

文森特 - 范 - 梵高最花园式的圣 - 保罗 - 医院 - 叶秋-12345

我本质上想要,'()从标题中删除,将" - "和空格更改为" - ".

我可以像这样删除标点符号:

str.replace(/[,'()]/g,"");
Run Code Online (Sandbox Code Playgroud)

所以我尝试了这个尝试摆脱空间破折号空间:

replace(/[ - ]/g,"");
Run Code Online (Sandbox Code Playgroud)

但后来我最终得到了这个:

VincentvanGogh-TheGardenofSaintPaul'sHospital(叶尔)-12345

The*_*ird 7

您正在使用字符类[ - ]到从空格到空格的范围.您可以删除其中一个空格并重复一次或多次,[ -]+并用短划线替换它:

let str = "Vincent van Gogh - The Garden of Saint Paul's Hospital (Leaf-Fall) - 12345";
console.log(str.replace(/[,'()]/g,"").replace(/[ -]+/g, '-'));
Run Code Online (Sandbox Code Playgroud)