0

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

null
    • Rafael_Starman
    • vor 3 Jahren
    • Gemeldet - anzeigen

    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