tuple_str_first_ntuple_str_first_nTupleStrFirstNTupleStrFirstN (Operator)

Name

tuple_str_first_ntuple_str_first_nTupleStrFirstNTupleStrFirstN — 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)

Beschreibung

tuple_str_first_ntuple_str_first_nTupleStrFirstNTupleStrFirstNTupleStrFirstN schneidet aus jedem String des Eingabetupels StringStringStringStringstringVal die ersten Zeichen bis einschließlich zur Position „n“ aus und liefert sie als einen neuen String in dem Ausgabetupel SubstringSubstringSubstringSubstringsubstring zurück (Bemerkung: Die Position innerhalb eines Strings wird beginnend mit 0 gezählt). Die Zahl „n“ wird hierbei durch das zweite Eingabetupel PositionPositionPositionPositionposition definiert. Enthält PositionPositionPositionPositionposition nur ein Element, so legt dieses Element die Zahl „n“ für alle Strings von StringStringStringStringstringVal fest. Beinhaltet PositionPositionPositionPositionposition genauso viele Elemente wie StringStringStringStringstringVal, so legt das erste Element von PositionPositionPositionPositionposition die Zahl „n“ für den ersten String von StringStringStringStringstringVal fest, das zweite Element von PositionPositionPositionPositionposition legt die Zahl „n“ für den zweiten String von StringStringStringStringstringVal fest und so weiter. Enthält PositionPositionPositionPositionposition mehr als ein Element und besteht StringStringStringStringstringVal nur aus einem String, so werden aus diesem String mehrere Anfangssegmente ausgeschnitten, deren Längen durch die Elemente von PositionPositionPositionPositionposition 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_nTupleStrFirstNTupleStrFirstNTupleStrFirstN 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 StringStringStringStringstringVal leer ist und PositionPositionPositionPositionposition nicht. Falls jedoch PositionPositionPositionPositionposition leer ist und StringStringStringStringstringVal 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") in einen Byte-Modus umgeschaltet werden. Wenn 'filename_encoding'"filename_encoding""filename_encoding""filename_encoding""filename_encoding" auf '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_nTupleStrFirstNTupleStrFirstNTupleStrFirstN, die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden kann:

Substring := str_firstn(String, Position)

Ausführungsinformationen

Parameter

StringStringStringStringstringVal (input_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Eingabetupel mit zu untersuchenden Strings.

PositionPositionPositionPositionposition (input_control)  number(-array) HTupleHTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Eingabetupel mit den Positionen „n“.

SubstringSubstringSubstringSubstringsubstring (output_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

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

Alternativen

tuple_str_last_ntuple_str_last_nTupleStrLastNTupleStrLastNTupleStrLastN, tuple_substrtuple_substrTupleSubstrTupleSubstrTupleSubstr, tuple_strstrtuple_strstrTupleStrstrTupleStrstrTupleStrstr, tuple_strrstrtuple_strrstrTupleStrrstrTupleStrrstrTupleStrrstr, tuple_strlentuple_strlenTupleStrlenTupleStrlenTupleStrlen, tuple_strchrtuple_strchrTupleStrchrTupleStrchrTupleStrchr, tuple_strrchrtuple_strrchrTupleStrrchrTupleStrrchrTupleStrrchr, tuple_splittuple_splitTupleSplitTupleSplitTupleSplit, tuple_environmenttuple_environmentTupleEnvironmentTupleEnvironmentTupleEnvironment

Modul

Foundation