javascript - 字符串替换为多个破折号和空格
问题描述
我有许多格式如下的字符串:
文森特梵高 - 圣保罗医院花园(落叶) - 12345
我正在尝试使用 javascript 将字符串更改为:
Vincent-van-Gogh-The-Garden-of-Saint-Pauls-Hospital-Leaf-Fall-12345
我基本上想,'()
从标题中删除,将“-”和空格更改为“-”。
我可以像这样去掉标点符号:
str.replace(/[,'()]/g,"");
所以我尝试了这个尝试摆脱那个空格破折号空间:
replace(/[ - ]/g,"");
但后来我得到了这个:
文森特梵高-圣保罗医院花园(落叶)-12345
解决方案
您正在使用[ - ]
从空格到空格的字符类。您可以删除其中一个空格并重复一次或多次[ -]+
,然后用破折号替换它:
let str = "Vincent van Gogh - The Garden of Saint Paul's Hospital (Leaf-Fall) - 12345";
console.log(str.replace(/[,'()]/g,"").replace(/[ -]+/g, '-'));
推荐阅读
- r - 获取比较多列的单列值
- excel - 从 Excel 调用 Access 函数
- lua - 为什么这个lua变量是nil,如果赋值语句后跟一个“,”
- c++ - 带有指针和 const 方法的类
- python - 如果将在 Python 中使用该类的实例,我是否必须导入该类?
- javascript - react-i18next:如何同步浏览器和 Express LanguageDetector?
- html - 即使向右浮动,元素也会向左移动
- android - Android,Animate只是父视图,而不是子视图?
- android - Android 相机 2:ImageReader 的图像没有步幅值
- python - Flask-Sqlalchemy:过滤列包含某个对象的行