我有一個簡單的字串,其中有一些重複的字元。有人可以幫我修復下面的表達式,不僅刪除重複的字符,而且刪除出現次數超過 1 次的所有字符。
console.log('aaabbxxstring'.replace(/(.)(?=.*?)/g,'')); // string
我正在使用前瞻捕獲匹配字符,並將匹配項替換為空格。問題是如何替換捕獲組本身。還是整個方法都不正確?
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.
當您圍繞字元拆分字串時,請使用結果數組的長度來計算出現次數。
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);
說明:
當您圍繞字元拆分字串時,請使用結果數組的長度來計算出現次數。
為您提供出現次數加 1。
將字串轉換為數組,使用出現的次數過濾,連接到字串。