3 Stimmen

Wie entferne ich mit Regex alles, was nach dem zweiten Vorkommen eines Zeichens kommt?

Ich habe eine Liste, die in etwa so aussieht:

xxxxx|xxxxxx|xxxxx@example.com
xxxxx|xxxxxx|xxxxx@example.com
xxxxx|xxxxxx|xxxxx@example.com

Die x's können sowohl Buchstaben als auch Zahlen sein, aber nichts anderes.

Was ich versuche, ist, alles (einschließlich des Zeichens) rechts von der zweiten | . Das Ergebnis sollte wie folgt aussehen:

xxxxx|xxxxx

Ich möchte es mit regex tun, so dass ich alle Vorkommen in Notepad++ ersetzen kann.

7voto

Ed Staub Punkte 15126

Finden.

^([^|]*|[^|]*)|.*$

Ersetzen durch

\1

Referenz: http://www.scintilla.org/SciTERegEx.html

4voto

daalbert Punkte 1445

Ersetzen Sie \|[^\|]+$ mit nichts.

Dies entspricht |xxxxx@example.com Wenn Sie sie also durch eine leere Zeichenkette ersetzen, wird das Gewünschte erreicht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X