[英]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.