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