Text, Zeichenkette und Byte-Array
Zeichenketten- und Sammlungsfunktionen der TapHome-Skriptsprache — LENGTH, BYTECOLLECTION, INDEXOF, COPY, REPLACE, SPLIT, COMPARE, APPEND, INSERT, REMOVEAT, GETAT, SETAT, ENCODE, DECODE, EQUALS.
LENGTH
Gibt die Länge eines Objekts oder die Anzahl der Bytes zurück. Das Objekt kann eine Zahl, ein boolescher Wert, eine Zeichenkette oder eine Sammlung sein.
LENGTH( object )Beispiele:
LENGTH(“Hello World”) (Result is 11)
LENGTH(“40”) (Result is 2)
LENGTH(40) (Result is 8)
LENGTH(BYTECOLLECTION(“010203”)) (Result is 3)BYTECOLLECTION
Erstellt eine Collection
BYTECOLLECTION( bytes )Beispiele:
BYTECOLLECTION(“010203”) (Result is Collection<UInt8> {01, 02, 03})
BYTECOLLECTION(“aa, be1-1,fe”) (Result is Collection<UInt8> {aa be 11 fe})INDEXOF
Gibt den Index eines angegebenen Elements in einer Zeichenkette oder einer Sammlung zurück. Gibt -1 zurück, wenn das Element nicht gefunden wird.
INDEXOF( string/collection, element )Beispiele:
INDEXOF("Hello", “H”) (Result is 0)
INDEXOF("Hello World", “Wor”) (Result is 6)
INDEXOF("Hello World", “Wor”) (Result is 6)
INDEXOF("Hello World", “or12”) (Result is -1)
INDEXOF(BYTECOLLECTION("ab cd ee ff 01 02"), 2) (Result is 5)
INDEXOF({1, 2, 3}, 3) (Result is 2)COPY
Kopiert eine angegebene Zeichenkette oder Sammlung (oder deren Teil).
COPY( string/collection, startIndex, length)Beispiele:
COPY("Hello") (Result is “Hello”)
COPY("Hello World", 2) (Result is “llo World”)
COPY("Hello World", 2, 4) (Result is “llo ”)
COPY(BYTEARRAY("01020304")) (Result is byte array 01020304)
COPY(BYTEARRAY("01020304", 2, 1)) (Result is byte array 03)REPLACE
Gibt eine neue Zeichenkette oder Sammlung zurück, in der alle Vorkommen des angegebenen Werts durch den neuen Wert ersetzt werden.
REPLACE( string/collection, oldValue, newValue)Beispiele:
REPLACE("Hello", “l”, “”) (Result is “Heo”)
REPLACE("Hello", “lo”, “22”) (Result is “Hel22”)
REPLACE(BYTECOLLECTION(“050607”), 5, 9) (Result is Collection<UInt8>{09, 06, 07})SPLIT
Teilt eine Zeichenkette in Substrings anhand der Trennzeichen.
SPLIT( string, string )
SPLIT( string, char )
SPLIT( string, Collection<string> )
SPLIT( string, Collection<char> )Beispiele:
SPLIT("1;2;3;4", “;”) (Result is Collection<String>{“1”, “2”, “3”, “4”})
SPLIT("1;2;3.4", “2;”) (Result is Collection<String>{“1;”, “3.4”})
SPLIT("1;2;3.4", {“2”, “3.”}) (Result is Collection<String>{“1;”, “;”, “4”})COMPARE
Vergleicht zwei Zeichenketten und gibt eine Ganzzahl zurück, die ihre relative Position in der Sortierreihenfolge angibt.
COMPARE( string, string, CompareOptions )Beispiele:
COMPARE("abc", “abc”) (Result is 0)
COMPARE("abc", “ABC”) (Result is 32)
COMPARE("abc", “ABC”, CompareOptions.IgnoreCase) (Result is 0)APPEND
Fügt einem Sammlungs- oder Zeichenkettenwert einen neuen Wert hinzu und gibt das neue Objekt mit dem angehängten Wert zurück.
APPEND( string, string )
APPEND( Collection, value )Beispiele:
APPEND({1, 2}, 3) (Result is Collection<Double>{1, 2, 3})
APPEND("abc", “def”) (Result is “abcdef”)INSERT
Fügt einen Wert in eine Sammlung oder Zeichenkette ein. Gibt die Sammlung oder Zeichenkette mit dem eingefügten Wert zurück.
INSERT( collection, index, value )
INSERT( string, index, value )Beispiele:
INSERT(“Hello”, 5, “ World”) (Result is “Hello World”)
INSERT(“Hello”, 1, “i”) (Result is “Hiello”)
INSERT({1, 2, 4}, 2, 3) (Result is Collection<Double>{1, 2, 3, 4})REMOVEAT
Entfernt Elemente aus einer Sammlung oder Zeichenkette basierend auf dem Elementindex und der Länge. Gibt die Sammlung oder Zeichenkette ohne die angegebenen Elemente zurück.
REMOVEAT( collection, index, length )
REMOVEAT( string, index, length )Beispiele:
REMOVEAT(“Hello”, 1) (Result is “Hllo”)
REMOVEAT(“Hello”, 3, 2) (Result is “Ho”)
REMOVEAT({1, 2, 3, 4}, 2) (Result is Collection<Double>{1, 2, 4})
REMOVEAT({1, 2, 3, 4}, 2, 2) (Result is Collection<Double>{1, 2})GETAT
Gibt das Element aus einer Sammlung oder Zeichenkette anhand des angegebenen Index zurück.
GETAT( collection, index )
GETAT( string, index )Beispiele:
GETAT(“Hello”, 2) (Result is “l”)
GETAT({1, 2, 4}, 2) (Result is 4)SETAT
Setzt den Wert eines Elements in einer Sammlung oder Zeichenkette am angegebenen Index.
SETAT( collection, index, value )
SETAT( string, index, value )Beispiele:
SETAT(“Hello”, 1, “a”) (Result is “Hallo”)
SETAT(“Hello”, 4, “o World”) (Result is “Hello World”)
SETAT({1, 2, 4}, 2, 3) (Result is Collection<Double>{1, 2, 3})ENCODE
Kodiert eine angegebene Zeichenkette in eines der Formate und gibt die neue Zeichenkette zurück.
ENCODE( string, format )Unterstützte Formate:
- XML
- Base64
Beispiele:
ENCODE("Hello", “xml”) (Result is “Hello”)
ENCODE("<Hello id=1>", “xml”) (Result is “<Hello id=1>”)
ENCODE("Hello", “base64”) (Result is “SGVsbG8=”)DECODE
Decodiert eine angegebene Zeichenkette mithilfe eines der Formate und gibt die neue Zeichenkette zurück.
DECODE( string, format )Unterstützte Formate:
- XML
- Base64
Beispiele:
DECODE("Hello", “xml”) (Result is “Hello”)
DECODE("<Hello id=1>", “xml”) (Result is “<Hello id=1>”)
DECODE("SGVsbG8=", “base64”) (Result is “Hello”)EQUALS
Vergleicht zwei Fließkommazahlen. Die Zahlen gelten als gleich, wenn | n1 - n2 | < epsilon. Der Standardwert des Schwellenwerts (epsilon) ist 0,005 und er ist optional.
EQUALS( number1, number2, epsilon=0.005 )Beispiele:
EQUALS(1.33, 1.33) 1.0 (true)
EQUALS(1.333, 1.3335) 1.0 (true)
EQUALS(1.333, 1.338) 1.0 (false)
EQUALS(1.333, 1.338, 0.01) 1.0 (true)
EQUALS(NAN, NAN) 1.0 (true)