tuple_str_first_ntuple_str_first_nTupleStrFirstNTupleStrFirstNtuple_str_first_n (Operator)

Name

tuple_str_first_ntuple_str_first_nTupleStrFirstNTupleStrFirstNtuple_str_first_n — Ausschneiden aller Zeichen bis zur Position „n“ aus einem Stringtupel.

Signatur

tuple_str_first_n( : : String, Position : Substring)

Herror tuple_str_first_n(const char* String, const Hlong Position, char* Substring)

Herror T_tuple_str_first_n(const Htuple String, const Htuple Position, Htuple* Substring)

void TupleStrFirstN(const HTuple& String, const HTuple& Position, HTuple* Substring)

HTuple HTuple::TupleStrFirstN(const HTuple& Position) const

static void HOperatorSet.TupleStrFirstN(HTuple stringVal, HTuple position, out HTuple substring)

HTuple HTuple.TupleStrFirstN(HTuple position)

def tuple_str_first_n(string: MaybeSequence[str], position: MaybeSequence[Union[float, int]]) -> Sequence[str]

def tuple_str_first_n_s(string: MaybeSequence[str], position: MaybeSequence[Union[float, int]]) -> str

Beschreibung

tuple_str_first_ntuple_str_first_nTupleStrFirstNTupleStrFirstNTupleStrFirstNtuple_str_first_n schneidet aus jedem String des Eingabetupels StringStringStringStringstringValstring die ersten Zeichen bis einschließlich zur Position „n“ aus und liefert sie als einen neuen String in dem Ausgabetupel SubstringSubstringSubstringSubstringsubstringsubstring zurück (Bemerkung: Die Position innerhalb eines Strings wird beginnend mit 0 gezählt). Die Zahl „n“ wird hierbei durch das zweite Eingabetupel PositionPositionPositionPositionpositionposition definiert. Enthält PositionPositionPositionPositionpositionposition nur ein Element, so legt dieses Element die Zahl „n“ für alle Strings von StringStringStringStringstringValstring fest. Beinhaltet PositionPositionPositionPositionpositionposition genauso viele Elemente wie StringStringStringStringstringValstring, so legt das erste Element von PositionPositionPositionPositionpositionposition die Zahl „n“ für den ersten String von StringStringStringStringstringValstring fest, das zweite Element von PositionPositionPositionPositionpositionposition legt die Zahl „n“ für den zweiten String von StringStringStringStringstringValstring fest und so weiter. Enthält PositionPositionPositionPositionpositionposition mehr als ein Element und besteht StringStringStringStringstringValstring nur aus einem String, so werden aus diesem String mehrere Anfangssegmente ausgeschnitten, deren Längen durch die Elemente von PositionPositionPositionPositionpositionposition festgelegt sind. Beinhalten die beiden Eingabetupel mehr als ein Element und besitzen sie eine unterschiedliche Zahl an Elementen, so bricht tuple_str_first_ntuple_str_first_nTupleStrFirstNTupleStrFirstNTupleStrFirstNtuple_str_first_n mit einer Fehlermeldung ab.

Falls beide Eingabetupel leer sind, gibt der Operator ein leeres Tupel zurück. Gleichermaßen gibt der Operator ein leeres Tupel zurück, wenn StringStringStringStringstringValstring leer ist und PositionPositionPositionPositionpositionposition nicht. Falls jedoch PositionPositionPositionPositionpositionposition leer ist und StringStringStringStringstringValstring nicht, wird eine Fehlermeldung angezeigt.

Unicode Codepoints versus Bytes

Die Position bezieht sich auf Unicode Codepoints. Ein Codepoint kann aus mehreren Bytes im UTF-8 String zusammengesetzt sein. Wenn die Position sich auf die Bytes des Strings beziehen soll, 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_str_first_ntuple_str_first_nTupleStrFirstNTupleStrFirstNTupleStrFirstNtuple_str_first_n, die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden kann:

Substring := str_firstn(String, Position)

Ausführungsinformationen

Parameter

StringStringStringStringstringValstring (input_control)  string(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Eingabetupel mit zu untersuchenden Strings.

PositionPositionPositionPositionpositionposition (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Eingabetupel mit den Positionen „n“.

SubstringSubstringSubstringSubstringsubstringsubstring (output_control)  string(-array) HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Die ersten Zeichen bis zu den Positionen „n“ aller Eingabestrings.

Alternativen

tuple_str_last_ntuple_str_last_nTupleStrLastNTupleStrLastNTupleStrLastNtuple_str_last_n, tuple_substrtuple_substrTupleSubstrTupleSubstrTupleSubstrtuple_substr, 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