Ich möchte alle mehr als 2 Leerzeichen in einer Zeichenfolge ersetzen, aber keine neuen Zeilen. Ich habe diesen regulären Ausdruck: \s{2,}
Er passt aber auch zu neuen Zeilen.
Wie kann ich nur zwei oder mehr Leerzeichen und keine neuen Zeilen abgleichen?
Ich benutze c #
Antworten:
Fügen Sie die Leerzeichen, die Sie abgleichen möchten, in eine Zeichenklasse ein. Beispielsweise:
Entspricht 2 oder mehr Leerzeichen oder Tabulatoren.
Sie könnten auch tun:
Dies entspricht jedem Leerzeichen mit Ausnahme von
\r
und\n
mindestens zweimal (beachten Sie, dass das KapitalS
in\S
für steht[^\s]
).quelle
\s{2,}
mit Zeilenumbrüchen weiter? Wenn es\n\s{2,}
so wäre, würde ich verstehen. Und warum funktioniert das Eingeben eines wörtlichen Leerzeichens in Klammern?\s
Übereinstimmungen Leerzeichen, Tabulatoren und Zeilenumbrüche. "Und warum funktioniert das Eingeben eines wörtlichen Leerzeichens in Klammern?", Nun, äh, weil es funktioniert. Ich weiß nicht, was ich dazu noch sagen soll :)