首頁  >  問答  >  主體

如何消除字串中特定的重複字元?

我有一個簡單的字串,其中有一些重複的字元。有人可以幫我修復下面的表達式,不僅刪除重複的字符,而且刪除出現次數超過 1 次的所有字符。

console.log('aaabbxxstring'.replace(/(.)(?=.*?)/g,'')); // string

我正在使用前瞻捕獲匹配字符,並將匹配項替換為空格。問題是如何替換捕獲組本身。還是整個方法都不正確?

P粉354602955P粉354602955174 天前352

全部回覆(2)我來回復

  • P粉416996828

    P粉4169968282024-04-01 09:45:52

    console.log('aaabbxxstring'.replace(/(.)+/g, '')); // string

    說明:

    (.) captures a single character.
    + matches one or more occurrences of the captured character.
    /g performs a global search to replace all occurrences.

    回覆
    0
  • P粉757432491

    P粉7574324912024-04-01 00:37:29

    當您圍繞字元拆分字串時,請使用結果數組的長度來計算出現次數。

    str.split(c).length

    為您提供出現次數加 1。

    將字串轉換為數組,使用出現的次數過濾,連接到字串。

    var str = 'aaabxbxxstring';
    
    const count = (str, c) => str.split(c).length - 1
    
    str = [...str].filter(c => count(str,c) < 2).join('')
    
    console.log(str);

    回覆
    0
  • 取消回覆