ClassesClasses | | Operators

tuple_strchrtuple_strchrTupleStrchrTupleStrchr (Operator)


tuple_strchrtuple_strchrTupleStrchrTupleStrchr — Forward search for characters within a string tuple.


tuple_strchr( : : String, ToFind : Position)

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

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

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

HTuple HTuple::TupleStrchr(const HTuple& ToFind) const

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

HTuple HTuple.TupleStrchr(HTuple toFind)


tuple_strchrtuple_strchrTupleStrchrTupleStrchrTupleStrchr searches within the strings of the input tuple StringStringStringStringstringVal for the characters of the input tuple ToFindToFindToFindToFindtoFind. Both input tuples may only consist of strings. Otherwise tuple_strchrtuple_strchrTupleStrchrTupleStrchrTupleStrchr returns an error. If the elements of ToFindToFindToFindToFindtoFind contain more than one character, only the first character of each element is considered for searching. If StringStringStringStringstringVal contains only one string, all the characters defined in ToFindToFindToFindToFindtoFind are searched in this string. Thus, the output tuple consists of as many elements as ToFindToFindToFindToFindtoFind. Whenever a searched character has been found, the position of its first occurrence gets stored in the output tuple PositionPositionPositionPositionposition (remark: the position starts at 0 for the first character of a string). If a character can not be found, -1 will be returned instead of its position. If both input tuples show the same number of elements, the search is done elementwise. I.e., the first character of the first element of ToFindToFindToFindToFindtoFind is searched within the first string of StringStringStringStringstringVal, the first character of the second element of ToFindToFindToFindToFindtoFind is searched within the second string of StringStringStringStringstringVal and so on. The results of the elementwise searches are returned with PositionPositionPositionPositionposition that contains as many elements as StringStringStringStringstringVal and ToFindToFindToFindToFindtoFind. If ToFindToFindToFindToFindtoFind only contains one string, its first character is searched within all strings of StringStringStringStringstringVal. Thus, in this case PositionPositionPositionPositionposition consists of as many elements as StringStringStringStringstringVal. If both input tuples contain more than one element and the number of elements differs for the input tuples, tuple_strchrtuple_strchrTupleStrchrTupleStrchrTupleStrchr returns an error.

For general information about string operations see Tuple / String Operations.

Exception: Empty input tuples

If either or both of the input tuples are empty, the operator returns an empty tuple.

HDevelop In-line Operation

HDevelop provides an in-line operation for tuple_strchrtuple_strchrTupleStrchrTupleStrchrTupleStrchr, which can be used in an expression in the following syntax:

Position := strchr(String, ToFind)

Execution Information


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

Input tuple with string(s) to examine.

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

Input tuple with character(s) to search.

PositionPositionPositionPositionposition (output_control)  integer(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Position of searched character(s) within the string(s).


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



ClassesClasses | | Operators