KlassenKlassenKlassenKlassen | | | | Operatoren

tuple_strrstrtuple_strrstrTupleStrrstrtuple_strrstrTupleStrrstrTupleStrrstr (Operator)

Name

tuple_strrstrtuple_strrstrTupleStrrstrtuple_strrstrTupleStrrstrTupleStrrstr — Rückwärtssuchen nach einem Teilstring in einem Tupel von Strings.

Signatur

tuple_strrstr( : : String, ToFind : Position)

Herror tuple_strrstr(const char* String, const char* ToFind, Hlong* Position)

Herror T_tuple_strrstr(const Htuple String, const Htuple ToFind, Htuple* Position)

Herror tuple_strrstr(const HTuple& String, const HTuple& ToFind, Hlong* Position)

Herror tuple_strrstr(const HTuple& String, const HTuple& ToFind, HTuple* Position)

void TupleStrrstr(const HTuple& String, const HTuple& ToFind, HTuple* Position)

HTuple HTuple::TupleStrrstr(const HTuple& ToFind) const

void HOperatorSetX.TupleStrrstr(
[in] VARIANT String, [in] VARIANT ToFind, [out] VARIANT* Position)

VARIANT HTupleX.TupleStrrstr(
[in] VARIANT String, [in] VARIANT ToFind)

static void HOperatorSet.TupleStrrstr(HTuple stringVal, HTuple toFind, out HTuple position)

HTuple HTuple.TupleStrrstr(HTuple toFind)

Beschreibung

tuple_strrstrtuple_strrstrTupleStrrstrtuple_strrstrTupleStrrstrTupleStrrstr sucht in dem Eingabetupel StringStringStringStringStringstringVal nach den in dem Eingabetupel ToFindToFindToFindToFindToFindtoFind definierten Strings. Beide Eingabetupel müssen durchgehend aus Strings bestehen. Anderenfalls bricht tuple_strrstrtuple_strrstrTupleStrrstrtuple_strrstrTupleStrrstrTupleStrrstr mit einem entsprechenden Fehler ab. Besteht StringStringStringStringStringstringVal nur aus einem einzigen String, so werden in diesem alle in ToFindToFindToFindToFindToFindtoFind definierten Strings gesucht. Das Ausgabetupel besteht also in diesem Fall aus genauso vielen Elementen wie das Eingabetupel ToFindToFindToFindToFindToFindtoFind. Die Suche geschieht rückwärts also vom Ende zum Anfang des zu untersuchenden Strings. Ist die Suche nach einem String erfolgreich, so wird die Position, an der der gesuchte String innerhalb des untersuchten Strings das erste Mal gefunden wurde, in dem Ausgabetupel PositionPositionPositionPositionPositionposition zurückgegeben (die Position innerhalb eines Strings wird beginnend mit 0 gezählt). Wurde ein String nicht gefunden, so wird für dessen Position der Wert -1 zurückgegeben. Enthalten beide Eingabetupel StringStringStringStringStringstringVal und ToFindToFindToFindToFindToFindtoFind gleich viele Elemente, so werden sie elementweise bearbeitet, das heißt, der erste String von ToFindToFindToFindToFindToFindtoFind wird in dem ersten String von StringStringStringStringStringstringVal, der zweite von ToFindToFindToFindToFindToFindtoFind im zweiten von StringStringStringStringStringstringVal gesucht und so weiter. Die einzelnen Elemente des Ausgabetupels enthalten dann das Resultat der elementweisen Suche. Besteht ToFindToFindToFindToFindToFindtoFind nur aus einem String, so wird dieser String in allen Strings des Eingabetupels StringStringStringStringStringstringVal gesucht. Das Ausgabetupel PositionPositionPositionPositionPositionposition besitzt dann also genauso viele Elemente wie das Eingabetupel StringStringStringStringStringstringVal. Weisen die beiden Eingabetupel StringStringStringStringStringstringVal und ToFindToFindToFindToFindToFindtoFind eine unterschiedliche Anzahl an Elementen auf, die von 1 verschieden ist, so bricht tuple_strrstrtuple_strrstrTupleStrrstrtuple_strrstrTupleStrrstrTupleStrrstr mit einem entsprechenden Fehler ab.

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_strrstrtuple_strrstrTupleStrrstrtuple_strrstrTupleStrrstrTupleStrrstr, die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden kann:

Position := strrstr(String, ToFind)

Parallelisierung

Parameter

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

Eingabetupel mit zu untersuchenden Strings.

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

Eingabetupel mit zu suchenden Teilstrings.

PositionPositionPositionPositionPositionposition (output_control)  integer(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Positionen der gesuchten Strings in den untersuchten Strings.

Alternativen

tuple_strstrtuple_strstrTupleStrstrtuple_strstrTupleStrstrTupleStrstr, tuple_strlentuple_strlenTupleStrlentuple_strlenTupleStrlenTupleStrlen, tuple_strchrtuple_strchrTupleStrchrtuple_strchrTupleStrchrTupleStrchr, tuple_strrchrtuple_strrchrTupleStrrchrtuple_strrchrTupleStrrchrTupleStrrchr, tuple_substrtuple_substrTupleSubstrtuple_substrTupleSubstrTupleSubstr, tuple_str_first_ntuple_str_first_nTupleStrFirstNtuple_str_first_nTupleStrFirstNTupleStrFirstN, tuple_str_last_ntuple_str_last_nTupleStrLastNtuple_str_last_nTupleStrLastNTupleStrLastN, tuple_splittuple_splitTupleSplittuple_splitTupleSplitTupleSplit, tuple_environmenttuple_environmentTupleEnvironmenttuple_environmentTupleEnvironmentTupleEnvironment

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren