Copy link to clipboard
Copied
Hallo @pixxxelschubser
Ich habe einige meiner Grep Funktionen mit den obigen Codes korrigieren können, nun komme ich aber bei dieser Suche/Ersetzung nicht weiter:
Ich brauche 2x eine Grep-Suche, egal welche Ziffer und egal welcher Buchstabe+Klammer ohne Leerzeichen dazwischen finden und dann ein Leerzeichen dazwischen setzen.
Ich habe da leider das selbe Problem wie oben, bei meinem jetzigen Befehl wird der Buchstabe und die Klammer gesucht und ausgewählt, auch hier muss ich händisch das einfache Leerzeichen einfügen...
Mit \(\K findet er leider den Zwischenraum nach der offener Klammer...
Kannst du mir bitte weiterhelfen? Danke!
[ branched from Grep-Ersatz beliebiger Buchstabe + Leerzeichen to InDesign forum by moderator ]
[ title added by moderator ]
Wahrscheinlich würde ich die Greps nacheinander mit einem Grep-Manager deiner Wahl laufen lassen.
Bin gerade nicht am Rechner (daher nicht getestet), aber funktionieren sollte:
[^) ]\K(?=\()
oder auch
\w\K(?=\()
Und für die zweite Abfrage
[.!?;,]\K(?=\w)
Beide könnte man theoretisch auch kombinieren zu:
[^) ]\K(?=\()|[.!?;,]\K(?=\w)
… und dann in einem Durchgang Suchen und Ersetzen lassen.
Es gibt sicherlich noch komfortablere Lösungen. Und bitte zwingend vor Gebrauch auf falsch positive und
...Copy link to clipboard
Copied
Hallo @aniri5j9ox8tw2ln
ich habe deine neue Frage in ein neues eigenständiges Thema verzweigt, da das alte Thema bereits ausführlich behandelt und beantwortet wurde.
Bei allen Fragen, die Grep betreffen, ist es (gerade bei nicht ganz einfach zu beschreibenden Zeichenfolgen bzw. Ersetzenvorgängen) zumeist extrem hilfreich, wenn du einfach ein paar geschriebene Beispiele „mitlieferst“. Denn aus deiner Eingangsbeschreibung werde ich noch nicht ganz schlau. (Prüfe bitte die Themenüberschrift und sage, falls ich deine Frage falsch verstanden habe.)
… Ich brauche 2x eine Grep-Suche, egal welche Ziffer und egal welcher Buchstabe+Klammer ohne Leerzeichen dazwischen finden und dann ein Leerzeichen dazwischen setzen.
Ich habe da leider das selbe Problem wie oben, bei meinem jetzigen Befehl wird der Buchstabe und die Klammer gesucht und ausgewählt, auch hier muss ich händisch das einfache Leerzeichen einfügen …
By @aniri5j9ox8tw2ln
1) Du schreibst von zwei Gep S&E - ich erkenne nur eine Frage.
2) um welche Klammer geht es? Nur um eine öffnende runde Klammer? Oder um alle drei Klammervarianten (öffnend)?
3) ich verstehe deine Zeichenfolge so: [Ziffer]+[Buchstabe]+[öffnende runde Klammer] also z.B. 123a(
4) Soll der Leerraum nach der Ziffer (vor dem Buchstaben) eingefügt werden?
Copy link to clipboard
Copied
Ok.
Ich gehe einfach davon aus, dass meine Annahme richtig ist.
Dann möchtest du einen Leerraum nach einer [beliebigen Ziffer] einfügen - aber nur, wenn dieser Ziffer ein [beliebiger Buchstabe] folgt, der seinerseits von einer öffnenden runden Klammer gefolgt wird.
Aus:
123a(
soll
123 a(
werden.
Eine gängige Variante wäre:
\d\K(?=[\l\u]\()
Copy link to clipboard
Copied
Hallo nochmals, danke für die Verschiebung meines Posts...
Also es geht um den klassischen Fehler, dass in manchen Texten die offene runde Klammer am Ende eines Wortes klebt - ohne Leerzeichen... oder die Klammer klebt nach einer Zahl.
Also z.B.
Hier ist mein Text(und vor der Klammer fehlt mein Leerzeichen), dann gestern um 12(wieder fehlt mein Leerzeichen)....
Weiterhin würde ich gerne auch diese Fehler korrigieren:
Hier ist mein Text.Und ohne Leerzeichen geht es nach dem Punkt weiter.
Hier ist mein Text,der Beistrich klebt einfach vor dem Buchstabe.
Aber ich hoffe diese Anfragen sprengen nicht diesen Thread... 😅
Ich könnte es auch mit der Rechtschreibkontrolle korrigieren, immerhin sieht das Programm diese ja als Fehler... aber ich dachte eine Grep-Lösung wäre auch nicht schlecht!
Copy link to clipboard
Copied
Wahrscheinlich würde ich die Greps nacheinander mit einem Grep-Manager deiner Wahl laufen lassen.
Bin gerade nicht am Rechner (daher nicht getestet), aber funktionieren sollte:
[^) ]\K(?=\()
oder auch
\w\K(?=\()
Und für die zweite Abfrage
[.!?;,]\K(?=\w)
Beide könnte man theoretisch auch kombinieren zu:
[^) ]\K(?=\()|[.!?;,]\K(?=\w)
… und dann in einem Durchgang Suchen und Ersetzen lassen.
Es gibt sicherlich noch komfortablere Lösungen. Und bitte zwingend vor Gebrauch auf falsch positive und falsch negative Treffer hin austesten.
Copy link to clipboard
Copied
Vielen Dank! Auch das hat wunderbar geklappt!
[^) ]\K(?=\()|[.!?;,]\K(?=\w) als Suche
und
\s als Ersetzung...
Ich wäre nie auf solch eine Formel gekommen... 🙈
Jetzt habe ich alle Grep-Suchoptionen korrigieren können. Super!
Copy link to clipboard
Copied
Das freut mich. Gern geschehen.
😉