tuple_substr — Ausschneiden von Zeichen ab Position „n1“ bis einschließlich „n2“ aus
einem Stringtupel.
tuple_substr schneidet aus jedem String des Eingabetupels
String alle Zeichen beginnend mit dem Zeichen
an der Position „n1“ bis einschließlich zur Position „n2“ aus und
liefert sie als einen neuen String in dem Ausgabetupel Substring
zurück. Die Zahlen „n1“ und „n2“ werden hierbei durch das zweite und
dritte Eingabetupel Position1 und Position2
definiert, das jeweils die gleiche Länge haben muss. Enthalten
Position1 und Position2 nur jeweils ein
Element, so legt dieses Element die Zahlen „n1“ und „n2“ für alle Strings
von String fest.
Beinhalten Position1 und Position2 genauso viele Elemente
wie String, so legen die jeweils ersten Elemente von
Position1 und Position2 die Zahlen „n1“ und „n2“ für den
ersten String von String fest. Die zweiten Elemente von
Position1 und Position2 legen dann die Zahlen „n1“ und
„n2“ für den zweiten String von String fest und so weiter.
Enthalten Position1 und Position2 mehr als ein
Element und besteht String nur aus einem String, so werden aus
diesem String mehrere Segmente ausgeschnitten, deren Länge durch
die Elemente von Position1 und Position2 festgelegt sind.
Beinhalten alle Eingabetupel mehr als ein Element und unterscheiden sie sich
gleichzeitig in der Anzahl der Elemente, so bricht tuple_substr mit
einer Fehlermeldung ab.
Falls String ein leeres Tupel ist, gibt der Operator ein leeres
Tupel zurück. Falls String nicht leer ist und Position1
und/oder Position2 leere Tupel sind, wird eine Fehlermeldung
angezeigt.
Die Positionen beziehen sich auf Unicode Codepoints. Ein Codepoint kann
aus mehreren Bytes im UTF-8 String zusammengesetzt sein. Wenn die Positionen
sich auf die Bytes des Strings beziehen sollen, kann dieser Operator mit
set_system('tsp_tuple_string_operator_mode', 'byte') in einen
Byte-Modus umgeschaltet werden. Wenn 'filename_encoding' auf
'locale' gesetzt ist (legacy), verwendet dieser Operator immer den
Byte-Modus.
Für allgemeine Informationen zu String-Operationen siehe auch Tupel / String-Operationen.
HDevelop unterstützt eine Inline-Operation für tuple_substr,
die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden
kann:
Substring := String{Position1:Position2}
String (input_control) string(-array) → (string)
Eingabetupel mit zu untersuchenden Strings.
Position1 (input_control) number(-array) → (integer / real)
Eingabetupel mit den Start-Positionen „n1“.
Position2 (input_control) number(-array) → (integer / real)
Eingabetupel mit den End-Positionen „n2“.
Substring (output_control) string(-array) → (string)
Alle Zeichen von den Positionen „n1“ bis „n2“ für alle Eingabestrings.
tuple_str_first_n,
tuple_str_last_n,
tuple_strstr,
tuple_strrstr,
tuple_strlen,
tuple_strchr,
tuple_strrchr,
tuple_split,
tuple_environment
Foundation