J'ai une chaîne simple avec quelques caractères répétitifs. Quelqu'un peut-il m'aider à corriger l'expression ci-dessous pour supprimer non seulement les caractères en double, mais également tous les caractères qui apparaissent plus d'une fois.
console.log('aaabbxxstring'.replace(/(.)(?=.*?)/g,'')); // string
J'utilise l'anticipation pour capturer les caractères correspondants et remplacer la correspondance par des espaces. La question est de savoir comment remplacer le groupe de capture lui-même. Ou toute l’approche est-elle incorrecte ?
Description :
Lorsque vous divisez une chaîne autour de caractères, utilisez la longueur du tableau résultant pour compter les occurrences.
Vous donne le nombre d'occurrences plus 1.
Convertissez la chaîne en tableau, filtrez en utilisant le nombre d'occurrences, concaténez-la en chaîne.