Gleiche aufeinanderfolgende Zeichen durch ein Zeichen ersetzen - replacex?
Hallo zusammen,
mich beschäftigt folgendes Problem. Ich möchte ein Text parsen und in einzelteile zerlegen. Nun habe ich das Problem das in einer Zeile, Wörter mit mehreren Leerzeichen getrennt sind. Ich will aber diese Leerzeichen als Trenner für ein Array nutzen (split). Wenn da aber mehrere Leerzeichen sind, entstehen aber mehrere Array items. Der Text sieht wie folgt aus:
Text1 Text2 Text3
Um es anschaulicher zumachen, ersetze ich die Leerzeichen durch ";" und um das ";" für mein split zu nutzen:
Text1;;;;;;;;Text2;;;;;;;;Text3
ich hätte aber gerne
Text1;Text2;Text3
Ich habe gesehen bei Regexr, gibt es die flag [/s+] für die Funktion replacex. Das "s+" steht für ein oder mehrere Leerzeichen. Aber es funktioniert nur ohne "+" dann sieht es aber wie oben aus.
"replacex" zerschießt mir auch die Zeilenumbrüche, was "replace" nicht tut.
Jemand eine Idee, wie ich da ans Ziel komme?
1 Antwort
-
Okay habe gerade die Lösung durch weiteres testen gefunden. Man muss die flag in () und nicht in [] setzen. Also:
replacex(TEXT, "(\s+)", ";");
Das Probelm mit dem Umbruch hat sich noch nicht gelöst, aber ich werde mal die Umbrüche durch ein anderes Zeichen ersetzen.
Content aside
- vor 3 JahrenZuletzt aktiv
- 1Antworten
- 200Ansichten