KlassenKlassenKlassenKlassen | | | | Operatoren

tuple_splittuple_splitTupleSplittuple_splitTupleSplitTupleSplit (Operator)

Name

tuple_splittuple_splitTupleSplittuple_splitTupleSplitTupleSplit — Aufteilen von Strings in mehrere Strings mittels Trennsymbolen.

Signatur

tuple_split( : : String, Separator : Substrings)

Herror tuple_split(const char* String, const char* Separator, char* Substrings)

Herror T_tuple_split(const Htuple String, const Htuple Separator, Htuple* Substrings)

Herror tuple_split(const HTuple& String, const HTuple& Separator, char* Substrings)

Herror tuple_split(const HTuple& String, const HTuple& Separator, HTuple* Substrings)

void TupleSplit(const HTuple& String, const HTuple& Separator, HTuple* Substrings)

HTuple HTuple::TupleSplit(const HTuple& Separator) const

void HOperatorSetX.TupleSplit(
[in] VARIANT String, [in] VARIANT Separator, [out] VARIANT* Substrings)

VARIANT HTupleX.TupleSplit(
[in] VARIANT String, [in] VARIANT Separator)

static void HOperatorSet.TupleSplit(HTuple stringVal, HTuple separator, out HTuple substrings)

HTuple HTuple.TupleSplit(HTuple separator)

Beschreibung

tuple_splittuple_splitTupleSplittuple_splitTupleSplitTupleSplit sucht in den einzelnen Strings des Eingabetupels StringStringStringStringStringstringVal nach einem oder mehreren Trennsymbolen, die in dem Eingabetupel SeparatorSeparatorSeparatorSeparatorSeparatorseparator definiert sind. Die untersuchten Strings werden dann in die Teil-Strings, die durch die Trennsymbole separiert werden, aufgeteilt. Die beiden Eingabetupel StringStringStringStringStringstringVal und SeparatorSeparatorSeparatorSeparatorSeparatorseparator müssen ausschließlich aus Strings bestehen. Anderenfalls bricht tuple_splittuple_splitTupleSplittuple_splitTupleSplitTupleSplit mit einem entsprechenden Fehler ab. Enthalten die Strings von SeparatorSeparatorSeparatorSeparatorSeparatorseparator mehr als ein Zeichen, so werden alle in einem String enthaltenen Zeichen als Trennsymbole interpretiert. Beinhaltet StringStringStringStringStringstringVal nur einen einzigen String, so wird dieser anhand der im Tupel SeparatorSeparatorSeparatorSeparatorSeparatorseparator definierten Trennsymbole aufgeteilt. Besteht StringStringStringStringStringstringVal zum Beispiel aus dem String „data1;data2:7;data3“ und enthält SeparatorSeparatorSeparatorSeparatorSeparatorseparator die beiden Strings „;“ und „:;“, so beinhaltet das Ausgabetupel SubstringsSubstringsSubstringsSubstringsSubstringssubstrings die Strings „data1“, „data2:7“, „data3“ als Ergebnis der Trennung gemäß dem ersten Element von SeparatorSeparatorSeparatorSeparatorSeparatorseparator und die Strings „data1“, „data2“, „7“ und „data3“ als Ergebnis der Trennung gemäß dem zweiten Element von SeparatorSeparatorSeparatorSeparatorSeparatorseparator. Besitzen beide Eingabetupel StringStringStringStringStringstringVal und SeparatorSeparatorSeparatorSeparatorSeparatorseparator gleich viele Elemente, so werden sie elementweise bearbeitet, das heißt, der erste String von StringStringStringStringStringstringVal wird gemäß den Trennsymbolen des ersten Strings von SeparatorSeparatorSeparatorSeparatorSeparatorseparator aufgeteilt, der zweite String von StringStringStringStringStringstringVal wird gemäß den Trennsymbolen des zweiten Strings von SeparatorSeparatorSeparatorSeparatorSeparatorseparator aufgeteilt und so weiter. Besteht SeparatorSeparatorSeparatorSeparatorSeparatorseparator nur aus einem String, so dienen die dort definierten Trennsymbole zur Aufteilung sämtlicher Strings des Eingabetupels StringStringStringStringStringstringVal. Weisen die beiden Eingabetupel StringStringStringStringStringstringVal und SeparatorSeparatorSeparatorSeparatorSeparatorseparator eine unterschiedliche Anzahl an Elementen auf, die von 1 verschieden ist, so bricht tuple_splittuple_splitTupleSplittuple_splitTupleSplitTupleSplit mit einem entsprechenden Fehler ab. Mehrfache direkt aufeinanderfolgende Trennsymbole in StringStringStringStringStringstringVal werden wie ein Trennsymbol behandelt. Trennsymbole am Anfang und am Ende von StringStringStringStringStringstringVal werden ignoriert.

Für allgemeine Informationen zu String-Operationen siehe auch Tupel / String-Operationen.

Sonderfall: Leere Eingabetupel

Falls eines oder beide der Eingabetupel leer sind, gibt der Operator ein leeres Tupel zurück.

HDevelop Inline-Operation

HDevelop unterstützt eine Inline-Operation für tuple_splittuple_splitTupleSplittuple_splitTupleSplitTupleSplit, die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden kann:

Substrings := split(String, Separator)

Parallelisierung

Parameter

StringStringStringStringStringstringVal (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Eingabetupel mit aufzuteilenden Strings.

SeparatorSeparatorSeparatorSeparatorSeparatorseparator (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Eingabetupel mit Trennsymbolen.

SubstringsSubstringsSubstringsSubstringsSubstringssubstrings (output_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Teil-Strings nach Aufteilung mittels Trennsymbolen.

Alternativen

tuple_strstrtuple_strstrTupleStrstrtuple_strstrTupleStrstrTupleStrstr, tuple_strrstrtuple_strrstrTupleStrrstrtuple_strrstrTupleStrrstrTupleStrrstr, tuple_strchrtuple_strchrTupleStrchrtuple_strchrTupleStrchrTupleStrchr, tuple_strrchrtuple_strrchrTupleStrrchrtuple_strrchrTupleStrrchrTupleStrrchr, tuple_strlentuple_strlenTupleStrlentuple_strlenTupleStrlenTupleStrlen, tuple_str_first_ntuple_str_first_nTupleStrFirstNtuple_str_first_nTupleStrFirstNTupleStrFirstN, tuple_str_last_ntuple_str_last_nTupleStrLastNtuple_str_last_nTupleStrLastNTupleStrLastN, tuple_environmenttuple_environmentTupleEnvironmenttuple_environmentTupleEnvironmentTupleEnvironment

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren