TapHome

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 aus angegebenen hexadezimalen Werten.

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 “&lt;Hello id=1&gt;”)
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("&lt;Hello id=1&gt;", “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)