首页  >  问答  >  正文

如何消除字符串中特定的重复字符?

我有一个简单的字符串,其中有一些重复的字符。有人可以帮我修复下面的表达式,不仅删除重复的字符,而且删除出现次数超过 1 次的所有字符。

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

我正在使用前瞻捕获匹配字符,并将匹配项替换为空格。问题是如何替换捕获组本身。还是整个方法都不正确?

P粉354602955P粉354602955224 天前461

全部回复(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
  • 取消回复