Text und Strings
Lerne, wie du Textwerte für Bezeichnungen, Logik und Integrationen in Ninox erstellst, bereinigst, durchsuchst, formatierst und konvertierst.
Textwerte sind zentral für viele Ninox Apps. Du nutzt sie für Namen und Adressen, Bezeichnungen auf Buttons, Meldungen in Hinweisen, IDs und Codes sowie für Daten, die du mit anderen Systemen austauschst. Dieses Kapitel zeigt dir, wie du Text erstellst, bereinigst, durchsuchst und formatierst, damit er in deiner Logik, in Ansichten und in Integrationen zuverlässig funktioniert.
In diesem Kapitel lernst du:
Textwerte für Bezeichnungen, Meldungen und IDs zu erstellen und zu ändern
Teile eines Strings zu suchen, zu extrahieren und zu bereinigen
Zahlen, Datumswerte und Uhrzeiten als lesbaren Text zu formatieren
mit Textformaten wie CSV, JSON und XML für Integrationen zu arbeiten
chosen()
Wertet ausgewählte Werte in einem Mehrfachauswahlfeld aus
concat()
Gibt Text aus einer Liste als kommagetrennten String zurück
contains()
Prüft, ob Text oder eine Liste einen exakten Wert enthält
extractx()
Extrahiert Text mit einem regulären Ausdruck
format()
Formatiert Zahlen, Datumswerte und Uhrzeiten als Text
formatJSON()
Konvertiert ein JSON-Objekt in Text
formatXML()
Konvertiert JSON in XML-Text
html()
Gibt die Rich-Text-Darstellung eines Werts zurück
icon()
Gibt einen Symbolwert zurück
index()
Gibt die erste passende Position in Text oder Arrays zurück
join()
Gibt Text aus einer Liste zurück, getrennt durch ein eigenes Trennzeichen
length()
Misst die Länge von Text oder Listen
lpad()
Füllt Text links bis zu einer festen Länge auf
parseCSV()
Konvertiert CSV-Text in Zeilen und Spalten
parseJSON()
Konvertiert einen JSON-String in ein JSON-Objekt
parseXML()
Konvertiert XML-Text in ein JSON-Objekt
replace()
Ersetzt einen String durch einen anderen
replacex()
Ersetzt Text mit einem regulären Ausdruck
rpad()
Füllt Text rechts bis zu einer festen Länge auf
split()
Teilt Text in einzelne Teile und gibt ein Array zurück
string()
text()
Konvertiert Werte in einfachen Text
styled()
color()
icon()
html()
Formatiert Text, gibt Symbolwerte zurück und rendert Rich-Text
substr()
substring()
Extrahiert einen Teil eines Texts
testx()
Prüft Text mit einem regulären Ausdruck
trim()
Entfernt zusätzliche Leerzeichen
upper()
lower()
capitalize()
Ändert die Groß- und Kleinschreibung von Text
Werte als kommagetrennten Text zurückgeben
Nutze concat(), um Werte als einen Textstring mit Kommas als Trennzeichen zurückzugeben. Die Funktion arbeitet mit Arrays, Tabellenergebnissen, Mehrfachauswahlfeldern und direkten Werten.
Nutze sie, wenn du:
ausgewählte Optionen aus einem Mehrfachauswahlfeld als Fließtext anzeigen willst
Array- oder Tabellenwerte für ein Formular oder Print-Layout in Text umwandeln willst
ein kommagetrenntes Ergebnis in einem Textfeld oder einer Textvariablen speichern willst
concat([any])
concat(value1, value2, ...)
[any]: ein Array, ein Tabellenergebnis oder ein Mehrfachauswahlfeldvalue1, value2, ...: einzelne Werte, die du als einen Textstring zurückgeben willst
Schauen wir uns einige Beispiele an:
Gibt alle Werte des Felds "First name" aus der Tabelle "Members" als einen String zurück, getrennt durch Kommas.
Das Skript gibt zum Beispiel "Max, Mary, Kim" zurück, wenn drei verknüpfte Datensätze Inhalte im Feld "First name" haben.
Gibt alle ausgewählten Einträge aus dem Mehrfachauswahlfeld interests als einen String zurück.
Wenn die ausgewählten Optionen Marketing, Sales und Support sind, gibt das Skript "Marketing, Sales, Support" zurück.
Tipps:
Nutze
join(), wenn du ein anderes Trennzeichen als ein Komma brauchst.
Ausgewählte Werte in Mehrfachauswahlfeldern auswerten
Nutze chosen(), wenn du die ausgewählten Werte eines Mehrfachauswahlfelds lesen oder prüfen willst.
Ausgewählte Werte mit chosen() prüfen oder zurückgeben
chosen() prüfen oder zurückgebenNutze chosen(), um alle ausgewählten Optionen aus einem Mehrfachauswahlfeld zurückzugeben oder zu prüfen, ob ein bestimmter Wert oder eine bestimmte ID Teil der Auswahl ist.
Nutze die Funktion, wenn du:
die ausgewählten Werte aus einem Mehrfachauswahlfeld zurückgeben willst
prüfen willst, ob eine bestimmte Option ausgewählt ist
prüfen willst, ob mehrere Options-IDs ausgewählt sind
Datensätze filtern willst, bei denen genau ein bestimmter Wert ausgewählt ist
chosen(multi)
chosen(multi, string)
chosen(multi, number)
chosen(multi, [number])
multi: ein Mehrfachauswahlfeldstring: eine ausgewählte Bezeichnung, die du prüfen willstnumber: eine ausgewählte Options-ID oder Datensatz-ID, die du prüfen willst[number]: eine Liste ausgewählter Options-IDs oder Datensatz-IDs, die du prüfen willst
chosen() gibt je nach Aufruf einen booleschen Wert oder ein Array von Strings zurück.
Schauen wir uns einige Beispiele an:
Angenommen, favorite_sports hat diese ausgewählten Werte:
Basketballmit ID1Dancingmit ID3Sailingmit ID4Soccermit ID5
Gibt die ausgewählten Werte als Array zurück.
Gibt true zurück, weil alle aufgeführten IDs ausgewählt sind.
Gibt true zurück, weil die Option mit ID 4 ausgewählt ist.
Gibt true zurück, weil Dancing ausgewählt ist.
Gibt false zurück, weil Climbing nicht ausgewählt ist.
Gibt nur dann true zurück, wenn Dancing der einzige ausgewählte Wert ist.
Tipps:
Nutze
numbers(), wenn du die ausgewählten IDs als Array für die weitere Verarbeitung brauchst.
Eine Liste von Textwerten zu einem String zusammenfügen
Nutze join(), um aus allen Einträgen in einem String-Array oder Tabellenergebnis einen String zu erzeugen. Du legst selbst fest, welches Trennzeichen zwischen den Einträgen steht. Anders als concat() lässt dich join() genau festlegen, was zwischen den Einträgen steht, zum Beispiel Kommas, Leerzeichen oder Zeilenumbrüche.
join() hat nichts mit dem SQL-Statement mit demselben Namen zu tun.
Nutze die Funktion, wenn du:
mehrere Tags in einer Zeile anzeigen willst
Text im CSV-Stil zum Kopieren und Einfügen erstellen willst
Werte zeilenweise in einem mehrzeiligen Textfeld ausgeben willst
join([string], string)
separator: der Text, den Ninox zwischen die Einträge einfügt, zum Beispiel","," | "oder"\n"
Schauen wir uns einige Beispiele an:
Fügt das Array zu einem mehrzeiligen String mit einem Zeilenumbruch zwischen den Einträgen zusammen.
Das Ergebnis ist:
Gibt die Namen aller Kunden mit einem Umsatz über 10000 zurück, getrennt durch Semikolons.
Für eine bessere Lesbarkeit fügt das Skript nach jedem Semikolon ein Leerzeichen ein.
Wählt alle Produktnamen aus und fügt sie mit dem Trennzeichen | zusammen.
Für eine bessere Lesbarkeit fügt das Skript vor und nach dem Trennzeichen ein Leerzeichen ein.
Tipps:
Nutze
join(), wenn du ein anderes Trennzeichen als ein Komma brauchst. Nutzeconcat(), wenn Kommas ausreichen.Nutze einen Zeilenumbruch als Trennzeichen für mehrzeilige Ausgaben, wie im Beispiel oben.
Einen Text in Teile zerlegen, die du durchlaufen oder auswerten kannst
Nutze split(), um einen String an jedem Trennzeichen in ein Array aufzuteilen. Das Trennzeichen markiert die Stellen, an denen Ninox trennt, und ist im Ergebnis nicht enthalten. Nutze splitx() für komplexere Fälle oder für Texte mit mehreren Trennzeichen.
Nutze die Funktion, wenn du:
eine kommagetrennte Liste aus einem Textfeld einzeln verarbeiten willst
importierten Text verarbeiten willst, der mehrere Informationen in einem Feld kombiniert
strukturierte Werte wie Namen, Adressen oder Codes in einzelne Teile aufteilen willst
split(text, separator)
text: der ursprüngliche String, den du aufteilen willstseparator: der exakte Text, an dem getrennt wird, zum Beispiel","oder"|". Jedes Vorkommen dieses Trennzeichens startet ein neues Element in der Ergebnisliste
splitx(text, regex)
text: der ursprüngliche String, den du aufteilen willstregex: ein "regulärer Ausdruck", der alle möglichen Trennzeichen definiert
Reguläre Ausdrücke erfordern oft etwas zusätzliche Recherche. Wir empfehlen dir https://regex101.com/ (externer Link), um deine regulären Ausdrücke zu testen.
Schauen wir uns einige Beispiele an:
Teilt den Text an jedem Leerzeichen.
Das Skript gibt ein Array mit Company, Mainroad, 5, 10213 und City zurück.
Teilt den Text an jedem Komma und gibt dann das erste Element aus dem Array zurück.
Das Skript gibt "Company" zurück.
Mit 1 würde es "Mainroad 5" zurückgeben.
Teilt überall dort, wo der Text ein nicht numerisches Zeichen enthält.
Das Skript gibt die Liste "333", "111", "777", "666" zurück.
Tipps:
Kombiniere
split()mititem(), wenn du die Reihenfolge der aufgeteilten Daten kennst und nur einen bestimmten Teil brauchst.Muster können mehr trennen, als du erwartest. Teste sie zuerst mit einigen Beispielwerten.
Einen String suchen und durch einen anderen ersetzen
Nutze replace() für ein einfaches Suchen und Ersetzen in einem String. Die Funktion sucht nach einem festen String und ersetzt jede Übereinstimmung durch einen anderen String. Beide Strings können unterschiedlich lang sein und jedes darstellbare Zeichen enthalten.
Nutze die Funktion zum Beispiel, wenn du:
in einem Text nach einem bestimmten String suchen und ihn ersetzen willst
Platzhalter in Textfeldern setzen willst, die du später durch personalisierte Inhalte ersetzt, zum Beispiel beim Drucken oder Senden von E-Mails
unerwünschte Zeichen aus einem Text entfernen willst
replace(text, search, replacement)
text: der ursprüngliche String, in dem du suchen willstsearch: der exakte Teilstring, den du finden willstreplacement: der Text, der jedes Vorkommen vonsearchersetzt
Die Suche beachtet die Groß- und Kleinschreibung.
Schauen wir uns einige Beispiele an:
Ersetzt jedes "o" durch "a".
Das Skript gibt "Hella warld!" zurück.
Ersetzt alle doppelten Leerzeichen in MyText durch ein einzelnes Leerzeichen.
Der Platzhalter-String "##FNAME##" wird durch den Inhalt des Felds oder der Variablen first_name ersetzt.
Wenn first_name Jimmy ist, gibt das Skript "Hello Jimmy!" zurück.
Tipp: Wenn du unerwünschte Zeichen entfernen willst, nutze einen leeren String "" als Ersetzung.
Mit Mustern suchen und ersetzen
Nutze replacex(), wenn du mit regulären Ausdrücken suchen und ersetzen willst und nicht nur mit exaktem Text. Die Funktion erweitert replace() und gibt dir deutlich mehr Kontrolle, wenn der Text einem Muster folgt statt einem festen Wert.
Nutze replacex() dann, wenn replace() viele einzelne Aufrufe bräuchte oder wenn der zu ändernde Text nicht immer identisch ist.
Nutze replacex(), wenn du:
alle Ziffern oder Sonderzeichen entfernen oder vereinheitlichen willst
Formate wie Telefonnummern, IDs oder Codes bereinigen willst
mehrere unterschiedliche Trennzeichen durch ein einheitliches ersetzen willst
importierte Daten mit unerwünschten Zeichen bereinigen willst
replacex(text, regex, replacement)
replacex(text, regex, flags, replacement)
text: der ursprüngliche String, in dem du suchen willstregex: ein regulärer Ausdruck, der beschreibt, was gefunden werden sollflags: optionale Flags für den regulären Ausdruckreplacement: der Text, der jede Übereinstimmung des Musters ersetzt
Wenn du Zeichen entfernen willst, nutze einen leeren String "" als Ersetzung.
Schauen wir uns einige Beispiele an:
Ersetzt alle Nicht-Ziffern in phone_no durch Leerzeichen.
\D steht für jedes Zeichen, das keine Ziffer ist.
Vereinheitlicht mehrere Trennzeichen zu einem einzigen. Die Funktion ersetzt jedes Vorkommen von -- oder == durch |.
Das Skript gibt "A|B|C" zurück.
Entfernt führende Leerzeichen aus der Textvariablen MyText.
Reguläre Ausdrücke erfordern oft etwas zusätzliche Recherche. Wir empfehlen dir https://regex101.com/ (externer Link), um deine regulären Ausdrücke zu testen.
Text mit einem regulären Ausdruck über extractx() extrahieren
extractx() extrahierenNutze extractx(), um auf Basis eines regulären Ausdrucks den ersten Treffer aus einem Text zurückzugeben.
Nutze die Funktion, wenn du:
einen Dateinamen, Code oder eine ID aus einem längeren Text extrahieren willst
strukturierte Werte aus importierten Daten herausziehen willst
einen Teil eines Texts wiederverwenden willst, der einem Muster folgt
einen Regex-Treffer vor der Rückgabe weiterverarbeiten willst
extractx(string, string)
extractx(string, string, string)
extractx(string, string, string, string)
erstes
string: der Text, in dem du suchen willstzweites
string: das Muster des regulären Ausdrucksdrittes
string: optionale Flagsviertes
string: optionaler Extraktionsausdruck wie$1oder$2
extractx() gibt einen String zurück.
Schauen wir uns einige Beispiele an:
Extrahiert den Dateinamen aus dem Anhangspfad und gibt ImportantDocument.pdf zurück.
Tipps:
Nutze
extractx(), wenn du den ersten passenden Teil brauchst und keinen vollständigen Ersatz.Nutze Capture Groups wie
$1oder$2, wenn nur ein Teil des Treffers relevant ist.Nutze
testx(), um zuerst zu prüfen, ob ein Muster passt.
Reguläre Ausdrücke erfordern oft etwas zusätzliche Recherche. Wir empfehlen dir https://regex101.com/ (externer Link), um deine regulären Ausdrücke zu testen.
Einen bestimmten Teil eines Texts extrahieren
Nutze substr() oder substring(), um nur einen Teil eines längeren Texts zu extrahieren. Das ist nützlich, wenn dein Text eine feste Struktur hat, zum Beispiel Rechnungsnummern oder Codes, und du einen bestimmten Abschnitt wie ein Präfix, ein Jahr oder einen Kurzcode brauchst.
Beide Funktionen extrahieren einen Teil eines Texts, arbeiten aber leicht unterschiedlich: substr() startet an einer Position und nimmt optional eine bestimmte Anzahl von Zeichen. substring() startet an einer Position und nimmt alles bis zu einer angegebenen Endposition.
Nutze sie zum Beispiel, wenn du:
Teile gleich aufgebauter Daten extrahieren willst, zum Beispiel das Präfix einer Rechnungsnummer
Werte für Vergleiche abkürzen willst, zum Beispiel
"Yes"und"No"zu"Y"und"N"
substr(text, start)
substr(text, start, length)
text: der ursprüngliche String, aus dem du einen Teil extrahieren willststart: die Position, an der der Ausschnitt beginnt. Die Zählung startet bei0length(optional): wie viele Zeichen abstartzurückgegeben werden. Wenn dulengthweglässt, reicht der Ausschnitt bis zum Ende vontext
substring(text, start, end)
text: der ursprüngliche String, aus dem du einen Teil extrahieren willststart: die Position, an der der Ausschnitt beginnt. Die Zählung startet bei0end: die Position nach dem letzten Zeichen, das du einschließen willst. Die Endposition ist exklusiv
Hinweis: Wenn end kleiner als start ist, tauscht Ninox die Werte automatisch. Die kleinere Zahl wird zum Startwert und die größere zur Endposition.
Schauen wir uns einige Beispiele an:
Gibt einen neuen String aus dem angegebenen Text ab einer bestimmten Startposition zurück.
Wenn das Feld ninox_example den Text "Hello world!" enthält, gibt dieses Skript "!" zurück.
Das Ausrufezeichen steht an Position 11, wenn du bei 0 zählst: H=0, e=1, l=2, l=3, o=4, Leerzeichen=5, w=6, o=7, r=8, l=9, d=10, !=11.
Gibt einen neuen String mit der angegebenen Länge ab Position 0 zurück.
Wenn das Feld ninox_example den Text "Hello world!" enthält, gibt dieses Skript "Hello" zurück: H=0, e=1, l=2, l=3, o=4, ....
Gibt einen neuen String aus dem angegebenen Text mit einer Start- und Endposition zurück.
Wenn das Feld ninox_example den Text "Hello world!" enthält, gibt dieses Skript "o w" zurück.
Das sind die Zeichen an den Positionen 4, 5 und 6: H=0, e=1, l=2, l=3, o=4, Leerzeichen=5, w=6. Das Zeichen an Position 7 ist nicht enthalten.
Die Länge von Text oder Listen messen
Nutze length(), um die Anzahl der Zeichen in einem String oder die Anzahl der Einträge in einem Array zurückzugeben. Leerzeichen zählen als Zeichen. In Arrays zählt jeder Eintrag, auch leere Strings und null.
Nutze die Funktion, wenn du:
die Größe eines Arrays berechnen willst
Stringlängen vergleichen willst
prüfen willst, ob ein Feld eine bestimmte Anzahl von Zeichen enthält
zusammen mit
substr()oderindex()die verbleibenden Zeichen ab einer bestimmten Position zählen willst
length(string)
length([any])
string: der Text, dessen Zeichen du zählen willst[any]: das Array, dessen Einträge du zählen willst
Schauen wir uns einige Beispiele an:
Zählt alle Zeichen im Text, einschließlich Leerzeichen.
Das Skript gibt "15" zurück.
Zählt alle Einträge im Array. Leere Strings und null werden trotzdem mitgezählt.
Das Skript gibt "5" zurück.
Tipps:
Wenn du nur passende Datensätze oder nicht leere Werte zählen willst, nutze eine speziellere Funktion wie
count().Wenn du die Anzahl der Zeichen ab einer bestimmten Position brauchst, kombiniere
length()mitsubstr()oderindex().
Die Position von Text in anderem Text finden
Nutze index(), um die Startposition des ersten Treffers in einem String oder Array zurückzugeben. Anders als contains() sagt dir die Funktion nicht nur, ob ein Treffer existiert. Sie gibt die numerische Position dieses Treffers zurück. Die Zählung startet bei 0.
index(text, search) index([any], any)
text: der ursprüngliche String, in dem du suchen willst[any]: das Array, in dem du suchen willstsearch/any: der gesuchte Wert
Bei Strings gibt index() die Position des ersten Zeichens des ersten Treffers zurück. Bei Arrays gibt die Funktion die Position des ersten identischen Eintrags zurück.
Schauen wir uns einige Beispiele an:
Gibt die Position des ersten Treffers im String zurück.
Das Skript gibt 3 zurück.
Das erste Zeichen passt direkt am Anfang des Strings.
Das Skript gibt 0 zurück.
Es gibt keinen Treffer, weil die Groß- und Kleinschreibung beachtet wird.
Das Skript gibt -1 zurück.
Gibt die Position des passenden Array-Eintrags zurück.
Das Skript gibt 2 zurück.
Gibt die Position von "D" im Array zurück.
Das Skript gibt 2 zurück.
Gibt -1 zurück, weil das Array keinen Eintrag enthält, der exakt "ox" entspricht.
Tipps:
index()gibt-1zurück, wenn kein exakter Treffer gefunden wird.Bei Strings beachtet
index()die Groß- und Kleinschreibung. Nutzelower()oderupper(), wenn du ohne Berücksichtigung der Groß- und Kleinschreibung prüfen willst.
Prüfen, ob Text oder eine Liste einen exakten Wert enthält
Nutze contains(), um zu prüfen, ob ein String oder ein Array den gesuchten exakten Wert enthält. Das Ergebnis ist immer boolesch: true bei einem Treffer und false, wenn kein Treffer gefunden wird.
Nutze die Funktion, wenn du:
nach Schlüsselwörtern in einem Textfeld suchen willst
prüfen willst, ob ein Array einen bestimmten Wert enthält
contains(string, string)
contains([any], any)
string: der Text, in dem du suchen willst[any]: das Array, in dem du suchen willststring/any(zweites Argument): der Wert, den du suchst
Bei Strings beachtet contains() die Groß- und Kleinschreibung. Bei Arrays bedeutet ein exakter Treffer, dass der gesuchte Wert einem der Einträge entspricht.
Wenn du zusätzlich die Position eines Treffers brauchst, nutze stattdessen index().
Schauen wir uns einige Beispiele an:
Prüft, ob "Hello world!" den Text "Hello" enthält.
Das Skript gibt true zurück.
Die Großschreibung stimmt nicht überein und contains() beachtet die Groß- und Kleinschreibung.
Das Skript gibt false zurück.
Wenn du die Groß- und Kleinschreibung ignorieren willst, formatiere den Text zuerst mit lower():
Sowohl der Text als auch der Suchwert sind in Kleinbuchstaben. Deshalb gibt die Funktion true zurück.
Prüft, ob "B" im Array ["A", "B", "C"] vorkommt.
Das Skript gibt true zurück.
"D" ist nicht im Array enthalten.
Das Skript gibt false zurück.
Gibt false zurück. JSON-Objekte werden nicht über ihren Inhalt verglichen, sondern über ihre Identität.
Die Groß- und Kleinschreibung von Text ändern
Nutze upper(), lower() und capitalize(), um die Schreibweise von Buchstaben in einem Text zu ändern. So bereinigst du uneinheitliche Eingaben, vereinheitlichst Werte vor Vergleichen und formatierst Namen, Bezeichnungen und Meldungen konsistent für Print-Layouts, Berichte und E-Mails.
upper()wandelt Kleinbuchstaben in Großbuchstaben umlower()wandelt Großbuchstaben in Kleinbuchstaben umcapitalize()setzt den ersten Buchstaben jedes Worts auf Großschreibung und den Rest auf Kleinschreibung
upper(string)
lower(string)
capitalize(string)
string: der Text, den du ändern willst
Schauen wir uns einige Beispiele an:
Wandelt Kleinbuchstaben in Großbuchstaben um. Andere Zeichen bleiben unverändert.
Das Skript gibt "UPPER" zurück.
Das ist nützlich für Vergleiche ohne Berücksichtigung der Groß- und Kleinschreibung.
Das Skript gibt true zurück.
Wandelt Großbuchstaben in Kleinbuchstaben um. Andere Zeichen bleiben unverändert.
Das Skript gibt "lower" zurück.
Das ist nützlich für Vergleiche ohne Berücksichtigung der Groß- und Kleinschreibung.
Das Skript gibt true zurück.
Wenn das Feld "Last name" den Wert "doe" enthält, gibt das Skript "Doe" zurück.
Schreibt den ersten Buchstaben jedes Worts groß und gibt "John Doe" zurück.
Aktualisiert den Feldwert direkt.
Wenn das Feld "roe" enthält, lautet das Ergebnis "Roe".
Tipps:
Wenn du Text vergleichst und die Großschreibung egal ist, nutze
lower()oderupper()auf beiden Seiten des Vergleichs.Nutze
capitalize()nur für Daten, die wie Namen geschrieben werden sollen. Für Codes wieAB-123oder Abkürzungen wieHRoderITist die Funktion nicht geeignet.Füge
capitalize()in der Automatisierung "After Update" hinzu, wenn Namen oder Bezeichnungen immer mit einem Großbuchstaben beginnen sollen.
Textwerte formatieren, bereinigen und gestalten
Nutze diese Funktionen, wenn du bereits Text hast und ihn bereinigen, auffüllen oder für die Anzeige gestalten willst. Damit passt du an, wie Text in deiner App aussieht und sich verhält. Nutze sie, um:
zusätzliche Leerzeichen zu entfernen
Zeichen hinzuzufügen, damit Text eine feste Länge hat
Werte in Text zu konvertieren
Text mit Farben und Symbolen zu gestalten
Diese Funktionen sind besonders nützlich, wenn du Daten für Druck, Exporte oder Dashboards mit einem einheitlichen Erscheinungsbild vorbereitest.
Zusätzliche Leerzeichen mit trim() entfernen
trim() entfernenNutze trim(), um führende und nachgestellte Leerzeichen aus einem Text zu entfernen. Das ist besonders nützlich, wenn Text aus anderen Quellen kopiert wird und am Anfang oder Ende unerwünschte Leerzeichen enthält. trim() verändert keine Leerzeichen innerhalb des Texts.
trim(string)
string: der Text, aus dem du Leerzeichen am Anfang oder Ende entfernen willst
Schauen wir uns ein Beispiel an:
Entfernt führende und nachgestellte Leerzeichen aus dem Feld last_name.
Wenn das Feld " Doe " enthält, lautet das Ergebnis "Doe".
Tipp: Füge das im Trigger nach einer Aktualisierung eines Textfelds hinzu, wenn neue oder geänderte Werte automatisch bereinigt werden sollen.
Text mit lpad() und rpad() auf eine feste Länge auffüllen
lpad() und rpad() auf eine feste Länge auffüllenNutze lpad() und rpad(), um einen String auf eine bestimmte Gesamtlänge zu bringen, indem fehlende Zeichen am Anfang oder Ende ergänzt werden. Das ist nützlich, wenn Codes eine feste Länge haben müssen oder wenn du Werte in Berichten und Print-Layouts ausrichten willst.
lpad() fügt am Anfang eines Strings links Füllzeichen hinzu. Die Zeichen wiederholen sich, bis die Gesamtlänge erreicht ist. rpad() fügt Füllzeichen am Ende eines Strings rechts hinzu. Auch hier wiederholen sich die Zeichen bis zur gewünschten Länge.
lpad(string, length, padding)
rpad(string, length, padding)
string: der ursprüngliche Textlength: die gewünschte Gesamtlänge des Ergebnissespadding: die Zeichen, mit denen der fehlende Platz gefüllt wird
Wenn der ursprüngliche Text length bereits erreicht oder überschreitet, bleibt er unverändert.
Schauen wir uns einige Beispiele an:
Füllt "A text" links mit "+ " auf, bis der Text insgesamt 20 Zeichen lang ist.
Das Skript gibt "+ + + + + + + A text" zurück.
Konvertiert zuerst die Zahl 123 in Text und füllt dann links mit Nullen auf, bis Länge 8 erreicht ist.
Das Skript gibt "00000123" zurück.
Füllt "A text" rechts mit " +" auf, bis der Text insgesamt 20 Zeichen lang ist.
Das Skript gibt "A text + + + + + + +" zurück.
Füllt rechts mit Nullen auf, bis Länge 8 erreicht ist.
Das Skript gibt "12300000" zurück.
Werte mit string() und text() in einfachen Text konvertieren
string() und text() in einfachen Text konvertierenNutze string() und text(), um Ninox Werte in Text umzuwandeln, den du anzeigen, zusammenfügen oder exportieren kannst. Das ist nützlich, wenn du lesbare Bezeichnungen bauen, Werte mit Text kombinieren oder Text an E-Mails, Print-Layouts oder externe Tools übergeben willst.
string() konvertiert einen Wert in seine rohe Stringform und berücksichtigt keine Formatierung.
text() konvertiert einen Wert in einen lesbaren String und kann Formatoptionen wie Datums-, Zeit- oder Zahlenformate berücksichtigen.
string(value)
text(value)
value: ein beliebiger Ninox Wert, den du als Text brauchst, zum Beispiel eine Zahl, ein Datum, eine Auswahl oder ein Array
Schauen wir uns einige Beispiele an:
Zeigt eine Meldung, in der das Datum als lesbarer Text ausgegeben wird.
Das Skript gibt je nach Datumsformat einen Dialog wie "Today is 10/25/2026" zurück.
Wenn das Auswahlfeld status aktuell In progress zeigt, gibt das Skript den Text "In progress" zurück.
Wenn das Datumsfeld "New Year's Eve" auf den 31. Dez. 2026 gesetzt ist, gibt das den internen numerischen Wert für dieses Datum zurück.
Wenn favorite_sports ein Mehrfachauswahlfeld ist, gibt die Funktion den internen Code wie "d1" zurück und nicht die sichtbaren Bezeichnungen.
Tipps:
Nutze
string(), wenn du den rohen gespeicherten Wert brauchst.Nutze
text(), wenn du lesbare Ausgaben brauchst, die die Anzeigeformatierung berücksichtigen.Bei Mehrfachauswahlfeldern gibt
text()die sichtbaren Bezeichnungen zurück, währendstring()den internen hexadezimalen Wert liefern kann.
Text mit Farben und Symbolen über styled(), color(), icon() und html() gestalten
styled(), color(), icon() und html() gestaltenNutze color(), um einen Farbwert zurückzugeben, icon(), um einen Symbolwert zurückzugeben, html(), um Rich-Text zurückzugeben, und styled(), um Farben und optional ein Symbol auf Text anzuwenden. Durch die Gestaltung wird das Ergebnis in den Datentyp styled konvertiert.
color(name)
color(r, g, b)
color(r, g, b, a)
color(choice)
icon(choice)
icon(string)
html(any)
name: ein Farbname oder Code wie"blue"oder"#4970FF"r, g, b: Rot-, Grün- und Blauwerte als Zahlena: optionale Deckkraft zwischen 0 und 1choice: ein Auswahlfeld, dessen ausgewählte Option eine definierte Farbe hatstring: der Symbolname, den du zurückgeben willstany: der Wert, den du mit HTML-Rendering als Rich-Text zurückgeben willst
color() akzeptiert jeden gültigen Farbbezeichner wie Namen, Hex-Werte, RGB- oder RGBA-Werte.
icon() gibt einen Symbolwert für ein Symbol- oder Logikfeld zurück. Du kannst auch das Symbol einer ausgewählten Option in einem Auswahlfeld zurückgeben.
html() gibt einen Rich-Text-Wert zurück. Einfache HTML-Tags, Listen, Tabellen und Inline-Styles werden dort gerendert, wo Rich-Text unterstützt wird.
styled() gibt ein gestaltetes Objekt zurück. In einem Logikfeld zeigt Ninox den gestalteten Text statt reinem Text.
styled(text, background)
styled(text, background, icon)
styled(text, background, fontColor, icon)
Nutze diese Datentypen für die Parameter oben:
styled(text, color)
styled(text, color, icon)
styled(text, color, color, icon)
styled(text, JSON)
text: der anzuzeigende Textbackground: eine Farbe oder ein Farbname für den HintergrundfontColor: eine Farbe für den Text selbsticon: der Symbolname, der neben dem Text angezeigt wirdJSON: ein JSON-Objekt wie{ color: "black", background: "orange", icon: "warn" }
Wenn du einen oder mehrere Parameter überspringen willst, ohne die Reihenfolge zu ändern, übergib für jeden ausgelassenen Parameter einen leeren String "". Ninox nutzt dann den Standardwert für diesen Parameter.
Wenn du zum Beispiel die Schriftfarbe auslässt, verwendet Ninox automatisch Schwarz oder Weiß, damit der Kontrast zum Hintergrund ausreichend bleibt.
Schauen wir uns einige Beispiele an:
Gibt eine blaue Farbe zurück, aber nicht das Ninox Blau.
Gibt die Farbe mit dem Hex-Code #4970FF zurück, also Blau.
Gibt das Ninox Blau als RGB-Farbwert zurück.
Gibt eine Farbe aus den RGB-Werten 73, 112 und 255 mit 50 % Deckkraft zurück.
Gibt die Farbe der ausgewählten Option im Auswahlfeld "Status" zurück.
Zeigt Warning! in Rot mit einem Warnsymbol links vom Text.
Durch den leeren Hintergrund nutzt Ninox den Standardhintergrund. Nur Schriftfarbe und Symbol sind gesetzt.
Nutzt die Werte aus den Feldern background, font_color und icon, um den Text zu gestalten und das gewählte Symbol links anzuzeigen.
Zeigt den Kontostand mit rotem Hintergrund, wenn er unter null liegt, oder mit grünem Hintergrund, wenn er null oder höher ist.
Nutzt ein JSON-Objekt, um Hintergrundfarbe, Schriftfarbe und Symbol an einer Stelle festzulegen.
Gibt das Symbol der ausgewählten Option im Auswahlfeld zurück.
Gibt das Symbol heart zurück.
Gibt einen Rich-Text-Wert zurück, der die fette und kursive Formatierung dort rendert, wo Rich-Text unterstützt wird.
Schreibt formatierten Rich-Text in das Feld rich_text.
Tipps:
Nutze
html()nur dort, wo Rich-Text unterstützt wird.In einem normalen Textfeld werden HTML-Tags als Text angezeigt. In einem Rich-Text-Feld wird das HTML gerendert.
Zahlen, Datumswerte und Uhrzeiten in Text umwandeln und formatieren
Nutze format(), wenn du Zahlen, Datumswerte, Uhrzeiten und Termine in Text umwandeln und ihr Aussehen genau steuern willst.
Das ist nützlich, wenn du:
Werte in Print-Layouts oder E-Mails anzeigen willst
einer Zahl Währung oder Einheiten hinzufügen willst, die nicht aus einem Zahlenfeld mit gesetzter Währung kommen
Datums- und Uhrzeitdarstellungen in deiner App vereinheitlichen willst
format() gibt einen Textwert zurück. Die Funktion ändert weder die ursprüngliche Zahl noch das ursprüngliche Datum.
format(number, pattern)
format(date, pattern)
format(date, pattern, language)
format(appointment, pattern)
format(appointment, pattern, language)
format(timestamp, pattern)
format(timestamp, pattern, language)
format(time, pattern)
number/date/time/appointment/timestamp: der Wert, den du in Text umwandeln willstpattern: ein Textausdruck, der das gewünschte Ausgabeformat beschreibtlanguage: der Sprachcode für das Ergebnis, zum Beispiel"en"oder"de"
Alle Teile des Format-Ausdrucks sind optional. Wenn du ein leeres Muster wie "" nutzt, bleibt der Wert unformatiert.
Zahlen mit format() formatieren
format() formatierenNutze format(), um eine Zahl mit Präfix, Suffix, exakten Trennzeichen, Dezimalstellen und Einheiten als Text auszugeben.
Wenn du ein Zahlenformat aufbaust, definierst du diese Teile in dieser Reihenfolge:
optionales Präfix, zum Beispiel
$ob ein Tausendertrennzeichen angezeigt wird
wie viele Dezimalstellen angezeigt werden
optionales Suffix oder eine Einheit, zum Beispiel
€Stil des Dezimaltrennzeichens
Stil des Tausendertrennzeichens
Die Ergebnisse können je nach Gebietsschema und Formateinstellungen unterschiedlich aussehen. Dasselbe Muster kann Punkte oder Kommas je nach Region anders anzeigen.
Schauen wir uns einige Beispiele an:
Zeigt die Zahl ohne besondere Formatierung: "238597".
Zeigt zwei Dezimalstellen: "238597.00" oder "238597,00". Je nach Gebietsschema nutzt Ninox Punkt oder Komma.
Zeigt drei erforderliche Dezimalstellen und optional eine weitere Ziffer.
Je nach Gebietsschema gibt das Skript "2387,970" oder "2387.970" zurück.
Fügt ein Dollarzeichen, ein Tausendertrennzeichen und zwei Dezimalstellen hinzu: "$2,385.97".
Nutzt ein in Europa häufiges Format mit Komma als Dezimaltrennzeichen und Punkt als Tausendertrennzeichen: "2.385,97 €".
Füllt eine Zahl mit führenden Nullen auf, bis eine feste Länge erreicht ist: 0000012345.
Datumswerte und Uhrzeiten mit format() formatieren
format() formatierenNutze format(), um Datumswerte, Uhrzeiten und Zeitstempel als lesbaren Text auszugeben.
Du kannst:
Tages- und Monatsnamen ausschreiben
die Reihenfolge von Tag, Monat und Jahr steuern
Zeitteile ein- oder ausblenden
eine bestimmte Sprache für Monats- und Wochentagsnamen nutzen
Schauen wir uns einige Beispiele an:
Formatiert das Datum in einer langen, gut lesbaren Form.
ddd steht für den Wochentagsnamen wie Mon oder Wed. Do steht für den Tag des Monats D mit Ordnungszahl wie 1st oder 23rd.
Wenn das Datum 05/31/2026 ist, gibt das Skript im US-Format "Mon, May 31, 2026" oder im UK-Format "Mon, 31st May 2026" zurück.
Zeigt das Datum im ISO-Stil. Für den 31. Mai 2026 gibt das Skript "2026-05-31" zurück.
Zeigt das Datum im US-Stil mit englischen Wochentags- und Monatsnamen. Für den 25. Mai 2026 gibt das Skript "Mon, May 25, 2026" zurück.
Formatiert einen Zeitwert mit Stunden und Minuten, zum Beispiel "09:30".
Formatiert das aktuelle Datum und die aktuelle Uhrzeit aus now() in einem üblichen Log-Format: "2026-05-31 15:06:27".
Zeigt das aktuelle Datum und die aktuelle Uhrzeit als Unix-Zeit ohne Millisekunden. Das ist eine einfache, zeitzonenunabhängige Darstellung eines Zeitpunkts als einzelne Ganzzahl. Wenn das Datum der 26. Mai 2026 ist, gibt das Skript den Zeitstempel ohne Millisekunden "1774479600" zurück.
Zeigt das aktuelle Datum und die aktuelle Uhrzeit als Unix-Zeit mit Millisekunden. Wenn das Datum der 17. Mai 2026 ist und die Uhrzeit 09:32:41 am, gibt das Skript den Zeitstempel inklusive Millisekunden "1779010361000" zurück.
Formatiert Startdatum und Startuhrzeit einer Terminvariablen als Text.
Formatiert Startdatum und Startuhrzeit des Termins auf Französisch mit lokalisierten Wochen- und Monatsnamen.
Tipps:
Deine Gebiets- und Spracheinstellungen beeinflussen Monatsnamen und einige Standardtrennzeichen. Dasselbe Format kann je nach Region unterschiedlich aussehen, zum Beispiel
$2,385.97oder2.385,97 €.
Mit JSON und XML für fortgeschrittene Integrationen arbeiten
Nutze formatJSON() und formatXML(), um JSON-Daten in einen String umzuwandeln. Das ist nützlich, wenn du:
mit APIs arbeitest, die JSON oder XML zurückgeben oder erwarten
ein eingehendes JSON-Objekt prüfen willst
JSON in XML-Text umwandeln willst
Diese Funktionen richten sich an fortgeschrittene Nutzer, die mit JSON und XML vertraut sind. Die Ergebnisse sind einfache Textwerte. Ninox interpretiert sie nicht automatisch.
Ein JSON-Objekt mit formatJSON() in Text umwandeln
formatJSON() in Text umwandelnNutze formatJSON(), um ein gültiges JSON-Objekt in einen JSON-String zu konvertieren. Das ist nützlich, wenn du den Inhalt eines eingehenden JSON-Objekts prüfen oder mit anderen Textfunktionen weiterverarbeiten willst.
formatJSON(JSON)
JSON: ein JSON-Objekt
Schauen wir uns ein Beispiel an:
Dieses Skript:
ruft die Ninox API mit einer
GET-Anfrage aufnutzt einen API-Key. Ersetze den Beispielschlüssel durch deinen eigenen persönlichen API-Key
erhält eine JSON-Antwort als JSON-Objekt
konvertiert dieses JSON-Objekt mit
formatJSON()in einen JSON-Stringspeichert den JSON-Text im Feld
Text, damit du die Antwort prüfen kannst
Ohne formatJSON() ist das Ergebnis in einem Textfeld nicht sinnvoll lesbar.
Du erhältst zum Beispiel einen JSON-String mit den Daten deiner aktuellen Tabelle:
JSON mit formatXML() in XML-Text konvertieren
formatXML() in XML-Text konvertierenNutze formatXML(), um ein JSON-Objekt in XML-Text umzuwandeln. XML gehört neben JSON zu den häufigsten Formaten für den Datenaustausch. Deshalb ist formatXML() besonders nützlich, wenn du Ninox per API mit externen Servern verbindest.
formatXML(JSON)
formatXML(JSON, pretty)
JSON: ein JSON-Objekt, das du in einen XML-String umwandeln willstpretty:trueoderfalse. Mittruewird der XML-String mit Einrückungen und Zeilenumbrüchen besser lesbar formatiert
Schauen wir uns ein Beispiel an:
Das konvertiert das JSON-Objekt in einen XML-String. Mit pretty auf true ist das Ergebnis leichter lesbar formatiert:
Du kannst diesen XML-Text dann an ein anderes System senden oder für einen Export speichern.
Tipps:
Nutze
formatJSON(), wenn du JSON-Daten als String sehen oder speichern willst oder wenn du sie mit Textfunktionen wiereplace()odersplit()weiterverarbeiten willst.
Text mit regulären Ausdrücken prüfen
Nutze testx(), wenn eine normale Suche nach exaktem Text nicht flexibel genug ist.
Prüfen, ob Text mit einem regulären Ausdruck übereinstimmt, mit testx()
testx()Nutze testx(), um true zurückzugeben, wenn ein Text zu einem regulären Ausdruck passt.
Nutze die Funktion, wenn du:
prüfen willst, ob ein Text einen Wert enthält, der einem Muster folgt
importierten Text validieren willst, bevor du ihn weiterverarbeitest
Platzhalter, IDs oder codierte Werte in Freitext erkennen willst
testx(string, string)
testx(string, string, string)
erstes
string: der Text, den du prüfen willstzweites
string: der reguläre Ausdruckdrittes
string: optionale Flags
testx() gibt einen booleschen Wert zurück.
Schauen wir uns einige Beispiele an:
Gibt true zurück, weil der Text Inhalt in eckigen Klammern enthält, der zum Muster passt.
Tipps:
Nutze
testx(), wenn du nur ein Ja-oder-Nein-Ergebnis brauchst. Andernfalls nutzeextractx()oderreplacex().
Reguläre Ausdrücke erfordern oft etwas zusätzliche Recherche. Wir empfehlen dir https://regex101.com/ (externer Link), um deine regulären Ausdrücke zu testen.
CSV-, JSON- und XML-Text in Daten umwandeln, mit denen du arbeiten kannst
Nutze parseCSV(), parseJSON() und parseXML(), um Text in strukturierte Daten umzuwandeln, mit denen Ninox arbeiten kann. Das ist nützlich, wenn du:
Daten als Text importierst oder empfängst, sie aber in einem strukturierten Datenformat weiterverarbeiten willst
deine Ninox Daten als CSV, JSON oder XML exportieren willst, zum Beispiel für die Kommunikation mit anderen Integrationen per API
parseCSV() arbeitet mit CSV-Text.
parseJSON() konvertiert einen JSON-String in ein JSON-Objekt.
parseXML() konvertiert einen XML-String in ein JSON-Objekt.
CSV-Text mit parseCSV() in Zeilen und Spalten umwandeln
parseCSV() in Zeilen und Spalten umwandelnNutze parseCSV(), um CSV-Text in strukturierte Daten umzuwandeln, die du durchlaufen kannst. Die Funktion eignet sich für eingefügte Tabellenkalkulationsdaten, importierte Dateien oder CSV-Text aus Integrationen.
parseCSV(string, options)
string: der CSV-Text, den du parsen willst, zum Beispiel
options: optionales JSON-Objekt:firstLineIsHeader(boolean, Standardfalse): Wenntrue, nutzt Ninox die erste Zeile als Spaltennamen und gibt JSON-Objekte zurück. Wennfalse, gibt Ninox jede Zeile als Liste von Textwerten zurück.separator(string, optional): das Zeichen zwischen den Feldern, zum Beispiel","oder";". Wenn du es weglässt, versucht Ninox es automatisch zu erkennen.textQuote(string, optional): das Zeichen, mit dem Textfelder in Anführungszeichen gesetzt werden. Standard ist".
parseCSV() gibt eine dieser Strukturen zurück:
eine Liste von JSON-Objekten, wenn
firstLineIsHeader: trueeine Liste von Text-Arrays, wenn
firstLineIsHeader: false
Schauen wir uns einige Beispiele an:
Standardverhalten:
Gibt eine Liste zurück, in der jede Zeile eine Liste von Textwerten ist:
Die erste Zeile als Header nutzen:
Gibt eine Liste von JSON-Objekten mit Schlüsseln aus der Header-Zeile zurück:
Eigenes Trennzeichen:
Liest ; als Trennzeichen und gibt zurück:
Eigenes Quote-Zeichen: Du kannst ein textQuote-Zeichen wie ein einfaches Anführungszeichen ' setzen, um Felder mit speziell gequotetem Text zu verarbeiten.
Behandelt ' als Quote-Zeichen. Dadurch bleiben Kommas innerhalb der Notiz im selben Feld:
Ohne passende textQuote-Einstellung bleiben gequotete Werte exakt so erhalten, wie sie in der Eingabe stehen. Zum Beispiel:
gibt zurück:
Tipps:
Setze
firstLineIsHeader: true, wenn du auf Werte per Name zugreifen willst, zum Beispielrow.Name.Lass die Option auf
false, wenn du nur rohe Zeilen und Spalten brauchst.Wenn du
separatornicht setzt, erkennt Ninox gängige Trennzeichen wie Kommas oder Tabs automatisch.textQuoteist optional. Nicht gequotete Felder werden trotzdem normal geparst.
Einen JSON-String mit parseJSON() in ein JSON-Objekt umwandeln
parseJSON() in ein JSON-Objekt umwandelnNutze parseJSON(), um einen JSON-String in ein JSON-Objekt umzuwandeln, mit dem du in Ninox arbeiten kannst. Das ist nützlich für API-Antworten, importierte Dateien oder JSON, das in einem Textfeld gespeichert ist.
parseJSON(string)
string: ein gültiger JSON-String
Der String muss gültiges JSON sein. Andernfalls ist das Ergebnis nicht verwendbar.
Schauen wir uns ein Beispiel an:
Konvertiert den JSON-Text in ein JSON-Objekt:
Danach kannst du auf Werte aus dem JSON in deiner Logik zugreifen.
Das ist zum Beispiel nützlich, wenn du:
JSON mit
http()von einer API erhältstWerte aus einem JSON-String in einem Feld lesen willst
ein JSON-Objekt ändern und in
http()weitergeben willst
Tipps:
Nutze doppelte Anführungszeichen
""für Anführungszeichen innerhalb des JSON-Strings.
Einen XML-String mit parseXML() in ein JSON-Objekt umwandeln
parseXML() in ein JSON-Objekt umwandelnNutze parseXML(), um einen XML-String in ein JSON-Objekt umzuwandeln, mit dem du in Ninox arbeiten kannst. Das ist besonders nützlich, wenn du externe Services per API anbindest und eingehende XML-Daten verarbeiten musst. XML ist neben JSON ein gängiges Austauschformat.
parseXML(string)
string: ein gültiger XML-String
Schauen wir uns ein Beispiel an:
Gibt ein JSON-Objekt ähnlich diesem zurück:
Danach kannst du Werte aus diesem JSON-Objekt in deiner Logik lesen.
Tipps:
Für den umgekehrten Weg von strukturierten Daten zurück zu Text nutzt du
formatJSONfür JSON undformatXMLfür XML.Wenn du ein XSD-Schema hast, validiere das XML vor dem Parsen.
Ein ungültiger XML-String führt zu einem Parse-Fehler.
Siehe auch:
Zahlen und Mathematik für die Konvertierung von Text in Zahlen und die Vorbereitung von Werten für Berechnungen
Datum und Uhrzeit für die Formatierung von Datumswerten, Uhrzeiten und Zeitstempeln als lesbaren Text
Integration und HTTP für das Senden von Text-Payloads, das Parsen von Antworten und die Arbeit mit XML in Integrationen
Standort und Geräte für das Erstellen sicherer URLs und das Kodieren von Abfragewerten
Zuletzt aktualisiert
War das hilfreich?