簡體   English   中英

JavaScript-多次替換字符串中的變量

[英]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 ,后跟item

如果嘗試使用字符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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM