Ich habe eine Zeichenfolge wie brown,Ceilings,flu,hydraulic bar stool,horse saddles,marble tiles
. Ich möchte den Text entfernen, der keine Leerzeichen enthält, aber den Text behalten, der mindestens ein Leerzeichen enthält. Das Ergebnis sollte wie folgt aussehen hydraulic bar stool,horse saddles,marble tiles
:
Ich stecke fest [^,]*\s
und weiß immer noch nicht, wie ich das Problem lösen kann. Wie kann ich dies mit einem Suchen und Ersetzen mit regulären Ausdrücken tun?
Antwort1
Finden
(?<! )\b[^, ]+(,|$)
Durch nichts ersetzen.
Wie es funktioniert:
\b[^, ]+
stimmt mit ganzen Wörtern überein.
(?<! )
beschränkt diese Übereinstimmungen auf Wörter, denen kein Leerzeichen vorangestellt ist.
(,|$)
beschränkt die Übereinstimmungen weiter auf Wörter, denen ein Komma folgt oder die am Zeilenende stehen.
Dies sollte mit allen Einzelworteinträgen und dem abschließenden Komma übereinstimmen.