0

Regulärer Ausdruck in einer Funktion

Hallo,

 

vorab - ich bin begeistert. An einem Wochenende habe ich mir eine schicke Datenbank für meine Modellbahnfahrzeuge erstellt.

Trotzdem werden natürlich auch in Zukunft Fragen aufkommen. Meine erste: 

Ich habe geglaubt, ich könnte einen String in Teilstrings, die nur aus Digits bestehen, mit split und einem regulären Ausdruck aufspalten.

Beispiel: aus "12345-678" sollte ein Array ["12345", "678"] entstehen Ich habe das mit 

let pz := replace(textparameter, " ", ""); Leerzeichen eliminieren
pz := item(split(pz, "(\d+)-(\d+)"), 0);

 

Es funktioniert nicht. Die Funktion liefert den String pz zurück.

 

Habt ihr eine Idee?

 

Wolfgang

4 Antworten

null
    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Wolfgang, wenn du mit Regex arbeitest dann solltest du splitx statt split verwenden. Aber in diesem Fall kann die Formel so aussehen:

    let pz := replace(textparameter, " ", "");

    pz := first(split(pz,"-")

     

    Leo

    • Wolfgang_Domrose
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ja, das habe ich vorher schon probiert. Etwas anders: pz := item(split(pz, "-"), 0);

     

    Geht einwandfrei - aber nur, wenn man weiß, dass das extra-zeichen ein "-" ist. Es sollte aber auch mit jedem anderen Nicht-Digit gehen....

     

    Wolfgang

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    pz := item(splitx(pz, "\D"), 0)

     

    Leo

    • Wolfgang_Domrose
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Perfekt -Danke vielmals!

     

    Wolfgang

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 4Antworten
  • 1234Ansichten