2017-04-21 6 views
2

Wie mit Hilfe von RegExp in JS löschen Sie Wort aus Zeile, die zwei ähnliche Symbole nacheinander enthalten. Zum Beispiel haben wir Zeile "Hallo, Aleks!". Wir müssen "Hallo" löschen, weil wir "ll" haben. Ich kann alert ("Hallo, Aleks!". Ersetzen (/ (.) \ 1/g, "$ 1")). Es löscht doppelte Buchstaben. Aber ich muss Wörter löschen, die doppelte Buchstaben enthalten. Vielen Dank!Wie mit Hilfe von RegExp in JS löschen Sie das Wort aus der Zeile, die zwei ähnliche Symbole nacheinander enthalten

Antwort

1

Sie können \w* (0 oder mehr Buchstaben/Ziffern/_ Symbole), bevor ein nach dem doppelten Buchstaben verwenden:

var res = "Hello, Aleks!".replace(/\w*(\w)\1\w*/g, ""); 
 
console.log(res);

Um auch alle Nicht-Wort Zeichen zu entfernen zu folgen, hinzufügen \W* (0 oder mehr Zeichen anders als Buchstaben/Ziffern/_ Symbole):

var res = "Hello, Aleks!".replace(/\w*(\w)\1\w*\W*/g, ""); 
 
console.log(res);

Hinweis: \w Streichhölzer Buchstaben, Ziffern und _. Wenn Sie nur Buchstaben abgleichen möchten, verwenden Sie stattdessen [a-zA-Z].

Wenn Sie Unicode-Buchstaben verwenden müssen, verwenden Sie entweder XRegExp\p{L} oder build a regex from Unicode ranges.

Verwandte Themen