Comment éliminer des caractères répétés spécifiques dans une chaîne ?
P粉354602955
P粉354602955 2024-03-31 10:50:33
0
2
512

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 ?

P粉354602955
P粉354602955

répondre à tous(2)
P粉416996828
console.log('aaabbxxstring'.replace(/(.)+/g, '')); // string

Description :

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

Lorsque vous divisez une chaîne autour de caractères, utilisez la longueur du tableau résultant pour compter les occurrences.

str.split(c).length

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.

var str = 'aaabxbxxstring';

const count = (str, c) => str.split(c).length - 1

str = [...str].filter(c => count(str,c) < 2).join('')

console.log(str);
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal