tuple_substrtuple_substrTupleSubstrTupleSubstrtuple_substr (Operator)
Name
tuple_substrtuple_substrTupleSubstrTupleSubstrtuple_substr — Ausschneiden von Zeichen ab Position „n1“ bis einschließlich „n2“ aus
einem Stringtupel.
Signatur
def tuple_substr(string: MaybeSequence[str], position_1: MaybeSequence[Union[float, int]], position_2: MaybeSequence[Union[float, int]]) -> Sequence[str]
def tuple_substr_s(string: MaybeSequence[str], position_1: MaybeSequence[Union[float, int]], position_2: MaybeSequence[Union[float, int]]) -> str
Beschreibung
tuple_substrtuple_substrTupleSubstrTupleSubstrTupleSubstrtuple_substr schneidet aus jedem String des Eingabetupels
StringStringStringStringstringValstring 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 SubstringSubstringSubstringSubstringsubstringsubstring
zurück. Die Zahlen „n1“ und „n2“ werden hierbei durch das zweite und
dritte Eingabetupel Position1Position1Position1Position1position1position_1 und Position2Position2Position2Position2position2position_2
definiert, das jeweils die gleiche Länge haben muss. Enthalten
Position1Position1Position1Position1position1position_1 und Position2Position2Position2Position2position2position_2 nur jeweils ein
Element, so legt dieses Element die Zahlen „n1“ und „n2“ für alle Strings
von StringStringStringStringstringValstring fest.
Beinhalten Position1Position1Position1Position1position1position_1 und Position2Position2Position2Position2position2position_2 genauso viele Elemente
wie StringStringStringStringstringValstring, so legen die jeweils ersten Elemente von
Position1Position1Position1Position1position1position_1 und Position2Position2Position2Position2position2position_2 die Zahlen „n1“ und „n2“ für den
ersten String von StringStringStringStringstringValstring fest. Die zweiten Elemente von
Position1Position1Position1Position1position1position_1 und Position2Position2Position2Position2position2position_2 legen dann die Zahlen „n1“ und
„n2“ für den zweiten String von StringStringStringStringstringValstring fest und so weiter.
Enthalten Position1Position1Position1Position1position1position_1 und Position2Position2Position2Position2position2position_2 mehr als ein
Element und besteht StringStringStringStringstringValstring nur aus einem String, so werden aus
diesem String mehrere Segmente ausgeschnitten, deren Länge durch
die Elemente von Position1Position1Position1Position1position1position_1 und Position2Position2Position2Position2position2position_2 festgelegt sind.
Beinhalten alle Eingabetupel mehr als ein Element und unterscheiden sie sich
gleichzeitig in der Anzahl der Elemente, so bricht tuple_substrtuple_substrTupleSubstrTupleSubstrTupleSubstrtuple_substr mit
einer Fehlermeldung ab.
Falls StringStringStringStringstringValstring ein leeres Tupel ist, gibt der Operator ein leeres
Tupel zurück. Falls StringStringStringStringstringValstring nicht leer ist und Position1Position1Position1Position1position1position_1
und/oder Position2Position2Position2Position2position2position_2 leere Tupel sind, wird eine Fehlermeldung
angezeigt.
Unicode Codepoints versus Bytes
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')set_system("tsp_tuple_string_operator_mode","byte")SetSystem("tsp_tuple_string_operator_mode","byte")SetSystem("tsp_tuple_string_operator_mode","byte")SetSystem("tsp_tuple_string_operator_mode","byte")set_system("tsp_tuple_string_operator_mode","byte") in einen
Byte-Modus umgeschaltet werden. Wenn 'filename_encoding'"filename_encoding""filename_encoding""filename_encoding""filename_encoding""filename_encoding" auf
'locale'"locale""locale""locale""locale""locale" gesetzt ist (legacy), verwendet dieser Operator immer den
Byte-Modus.
Für allgemeine Informationen zu String-Operationen siehe auch
Tupel / String-Operationen.
HDevelop Inline-Operation
HDevelop unterstützt eine Inline-Operation für tuple_substrtuple_substrTupleSubstrTupleSubstrTupleSubstrtuple_substr,
die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden
kann:
Substring := String{Position1:Position2}
Ausführungsinformationen
- Multithreading-Typ: independent (läuft parallel auch zu exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
StringStringStringStringstringValstring (input_control) string(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Eingabetupel mit zu untersuchenden Strings.
Position1Position1Position1Position1position1position_1 (input_control) number(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)
Eingabetupel mit den Start-Positionen „n1“.
Position2Position2Position2Position2position2position_2 (input_control) number(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)
Eingabetupel mit den End-Positionen „n2“.
SubstringSubstringSubstringSubstringsubstringsubstring (output_control) string(-array) → HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Alle Zeichen von den Positionen „n1“ bis „n2“
für alle Eingabestrings.
Alternativen
tuple_str_first_ntuple_str_first_nTupleStrFirstNTupleStrFirstNTupleStrFirstNtuple_str_first_n,
tuple_str_last_ntuple_str_last_nTupleStrLastNTupleStrLastNTupleStrLastNtuple_str_last_n,
tuple_strstrtuple_strstrTupleStrstrTupleStrstrTupleStrstrtuple_strstr,
tuple_strrstrtuple_strrstrTupleStrrstrTupleStrrstrTupleStrrstrtuple_strrstr,
tuple_strlentuple_strlenTupleStrlenTupleStrlenTupleStrlentuple_strlen,
tuple_strchrtuple_strchrTupleStrchrTupleStrchrTupleStrchrtuple_strchr,
tuple_strrchrtuple_strrchrTupleStrrchrTupleStrrchrTupleStrrchrtuple_strrchr,
tuple_splittuple_splitTupleSplitTupleSplitTupleSplittuple_split,
tuple_environmenttuple_environmentTupleEnvironmentTupleEnvironmentTupleEnvironmenttuple_environment
Modul
Foundation