Text, řetězce a pole bajtů
Funkce skriptu TapHome pro řetězce a kolekce — LENGTH, BYTECOLLECTION, INDEXOF, COPY, REPLACE, SPLIT, COMPARE, APPEND, INSERT, REMOVEAT, GETAT, SETAT, ENCODE, DECODE, EQUALS.
LENGTH
Vrací délku objektu nebo počet bajtů. Objektem může být číslo, boolean, řetězec nebo kolekce.
LENGTH( object )Příklady:
LENGTH(“Hello World”) (Result is 11)
LENGTH(“40”) (Result is 2)
LENGTH(40) (Result is 8)
LENGTH(BYTECOLLECTION(“010203”)) (Result is 3)BYTECOLLECTION
Vytvoří Collection
BYTECOLLECTION( bytes )Příklady:
BYTECOLLECTION(“010203”) (Result is Collection<UInt8> {01, 02, 03})
BYTECOLLECTION(“aa, be1-1,fe”) (Result is Collection<UInt8> {aa be 11 fe})INDEXOF
Vrací index určeného prvku v řetězci nebo v kolekci. Vrací -1, pokud prvek nelze nalézt.
INDEXOF( string/collection, element )Příklady:
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
Vrátí kopii zadaného řetězce nebo kolekce (nebo jejich části).
COPY( string/collection, startIndex, length)Příklady:
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
Vrací nový řetězec nebo kolekci, ve které jsou všechny výskyty zadané hodnoty nahrazeny novou hodnotou.
REPLACE( string/collection, oldValue, newValue)Příklady:
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
Rozdělí řetězec na podřetězce na základě oddělovačů.
SPLIT( string, string )
SPLIT( string, char )
SPLIT( string, Collection<string> )
SPLIT( string, Collection<char> )Příklady:
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
Porovnává 2 řetězce a vrací celé číslo, které naznačuje jejich relativní pozici v pořadí třídění.
COMPARE( string, string, CompareOptions )Příklady:
COMPARE("abc", “abc”) (Result is 0)
COMPARE("abc", “ABC”) (Result is 32)
COMPARE("abc", “ABC”, CompareOptions.IgnoreCase) (Result is 0)APPEND
Přidá hodnotu k řetězci nebo kolekci a vrátí nový objekt s přidanou hodnotou.
APPEND( string, string )
APPEND( Collection, value )Příklady:
APPEND({1, 2}, 3) (Result is Collection<Double>{1, 2, 3})
APPEND("abc", “def”) (Result is “abcdef”)INSERT
Vloží hodnotu do kolekce nebo řetězce. Vrací kolekci nebo řetězec se vloženou hodnotou.
INSERT( collection, index, value )
INSERT( string, index, value )Příklady:
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
Odebere prvky z kolekce nebo řetězce na základě indexu prvku a délky. Vrací kolekci nebo řetězec bez zadaných prvků.
REMOVEAT( collection, index, length )
REMOVEAT( string, index, length )Příklady:
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
Získá hodnotu prvku z kolekce nebo řetězce na základě zadaného indexu.
GETAT( collection, index )
GETAT( string, index )Příklady:
GETAT(“Hello”, 2) (Result is “l”)
GETAT({1, 2, 4}, 2) (Result is 4)SETAT
Nastaví hodnotu prvku v kolekci nebo řetězci na uvedený index.
SETAT( collection, index, value )
SETAT( string, index, value )Příklady:
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
Kóduje zadaný řetězec do vybraného formátu a vrací nový řetězec.
ENCODE( string, format )Podporované formáty:
- XML
- Base64
Příklady:
ENCODE("Hello", “xml”) (Result is “Hello”)
ENCODE("<Hello id=1>", “xml”) (Result is “<Hello id=1>”)
ENCODE("Hello", “base64”) (Result is “SGVsbG8=”)DECODE
Dekóduje zadaný řetězec zvoleným formátem a vrací nový řetězec.
DECODE( string, format )Podporované formáty:
- XML
- Base64
Příklady:
DECODE("Hello", “xml”) (Result is “Hello”)
DECODE("<Hello id=1>", “xml”) (Result is “<Hello id=1>”)
DECODE("SGVsbG8=", “base64”) (Result is “Hello”)EQUALS
Porovnává dvě čísla s plovoucí desetinnou čárkou. Čísla jsou považována za rovná, pokud | n1 - n2 | < epsilon. Výchozí hodnota prahu (*epsilon) je 0.005 a je volitelným argumentem.
EQUALS( number1, number2, epsilon=0.005 )Příklady:
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)