Antworten und Tipps zur Frage
Wie kann ich mir hilfe eines regulären Ausdrucks das vorletzte Wort eines Eingangstextes Textes finden?
Frage von exsylor (05.05.2011 | 11:31)
(<[! ]@>)([ ]@)(<[! ]@>).^13

Antwort von HannesB (05.05.2011 | 13:35)
und Bestätigung von winni300 (05.05.2011 | 13:51)
Bewertung: positiv
Kommentar: keiner
Ergänzungen
-
HannesB schrieb am (05.05.2011 | 11:59):
Du benötigst dafür ein Kriterium für "Ende des Eingangstextes". Wenn bspw. der Eingangstext mit "." und einem "Newline" endet, dann kannst Du bspw. in MS Word mit
(<[! ]@>)([ ]@)(<[! ]@>).^13
die beiden letzten Wörter eines Absatzes finden und dann mit \1 auf das vorletzte zugreifen.
-
exsylor schrieb am (05.05.2011 | 12:43):
ich suche den Regex .. irgendwie werd ich den String rumdrehen und dann nach Leerzeichen suchen und rausschneiden, oder?
-
HannesB schrieb am (05.05.2011 | 12:59):
Die RegEx (als Beispiel für MS Word) steht doch da: (<[! ]@>)([ ]@)(<[! ]@>).^13
Von hinten gelesen: ^13 ist die Absatzendemarke, davor der ., davor ein (das letzte) Wort (<[! ]@>), davor ein oder mehrere Leerzeichen ([ ]@), davor dann das vorletzte Wort (<[! ]@>). Mit \1 kannst Du dann auf dieses zugreifen.
Ergänzung schreiben: