+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

RegExMatch$() was ist Rückgabewert, wenn kein Ergebnis gefunden wird?

Das was unter “Textteile löschen” beschrieben ist, mache ich auch. Das funktioniert ganz gut:

StrSubst$("Test der zweite",RegExMatch$("Test der zweite","d.*"),"") liefert “Test” als Ergebnis.

cond(RegExMatch$("Test der zweite","d.*")="","Test der zweite",StrSubst$("Test der zweite",RegExMatch$("Test der zweite","d.*"),"")) funktionert auch noch und liefert immer noch “Test” als Ergebnis.

Das funktioniert alles solange ganz gut, solange man nur die Texte andrucken will, aus denen es etwas zu entfernen gibt. Allerdings möchte ich jetzt alle komplett drucken, die eben nicht “d” im Text enhalten haben. Das habe ich so probiert:

cond(RegExMatch$("Test mit an_eren Buchstaben","d.*")="","Test mit an_eren Buchstaben",StrSubst$("Test mit an_eren Buchstaben",RegExMatch$("Test mit an_eren Buchstaben","d.*"),"")) liefert kein Ergebnis mehr.

Das geht aber nicht. Selbst wenn ich nur ausgeben will

"RegExMatch-Ergebnis: "+ RegExMatch$("Test mit an_eren Buchstaben","d.*")

geht das nicht. Da erscheint nicht mal mein String "RegExMatch-Ergebnis: ", das ganze Textfeld der Tabelle wird nicht gedruckt, nicht mal farbig unterlegt. Meine Vermutung: RegExMatch$() liefert bei einer nicht erfolgreichen Suche keinen leeren String oder so etwas zurück sondern irgendetwas undefiniertes, was zu Fehlern führt, die aber einfach ignoriert werden.

Oder weiß jemand, was ich falsch mache? Was ist der Rückgabewert von RegExMatch$(), wenn kein Ergebnis gefunden wird?

Vielen Dank schon jetzt!

Das Ergebnis ist in dem Fall NULL, Sie sollten den RegExMatch$-Ausdruck in eine NullSafe-Funktion packen: NullSafe(RegExMatch$(...)).

1 Like

© combit GmbH