Wie eliminiere ich bestimmte wiederholte Zeichen in einer Zeichenfolge?
P粉354602955
P粉354602955 2024-03-31 10:50:33
0
2
482

Ich habe eine einfache Zeichenfolge mit einigen sich wiederholenden Zeichen. Kann mir bitte jemand helfen, den folgenden Ausdruck zu korrigieren, um nicht nur doppelte Zeichen, sondern alle Zeichen zu entfernen, die mehr als einmal vorkommen?

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

Ich verwende Lookahead, um übereinstimmende Zeichen zu erfassen und die Übereinstimmung durch Leerzeichen zu ersetzen. Die Frage ist, wie die einfangende Gruppe selbst ersetzt werden kann. Oder ist der gesamte Ansatz falsch?

P粉354602955
P粉354602955

Antworte allen(2)
P粉416996828
console.log('aaabbxxstring'.replace(/(.)\1+/g, '')); // string

说明:

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

当您围绕字符拆分字符串时,使用结果数组的长度来计算出现次数。

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);
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage