[英]JavaScript - Replace variable from string in all occurrences
好的,我知道我是否说过字符“-”,并且想使用JavaScript在字符串中的所有位置将其删除,我只是...
someWord = someWord.replace(/-/g, '');
但是,将其应用于字符数组时,它不起作用...
const badChars = ('\/:*?"<>|').split('');
let fileName = title.replace(/ /g, '-').toLocaleLowerCase();
for (let item = 0; item < badChars.length; item++) {
// below will not work with global '/ /g'
fileName = fileName.replace(/badChars[item]/g, '');
}
有任何想法吗?
/badChars[item]/g
从字面上查找badChars
,后跟i
, t
, e
或m
。
如果尝试使用字符badChars[item]
,则需要使用RegExp
构造函数,并且需要转义任何正则表达式特定的字符。
转义正则表达式已被很好地发现 。 因此使用:
fileName = fileName.replace(new RegExp(RegExp.quote(badChars[item]), 'g'), '');
但是 ,您真的不想要那样。 您只需要一个字符类:
let fileName = title.replace(/[\/:*?"<>|]/g, '-').toLocaleLowerCase();
找到了 ....
fileName = fileName.replace(/[-\/\\^$*+?.()|[\]{}]/g, '');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.