tuple_substrtuple_substrTupleSubstrTupleSubstrtuple_substr (算子)
名称
tuple_substrtuple_substrTupleSubstrTupleSubstrtuple_substr — 从字符串元组中从位置 “n1” 到 “n2” 剪切字符。
签名
def tuple_substr(string: MaybeSequence[str], position_1: MaybeSequence[Union[float, int]], position_2: MaybeSequence[Union[float, int]]) -> Sequence[str]
def tuple_substr_s(string: MaybeSequence[str], position_1: MaybeSequence[Union[float, int]], position_2: MaybeSequence[Union[float, int]]) -> str
描述
tuple_substrtuple_substrTupleSubstrTupleSubstrTupleSubstrtuple_substr cuts all characters from position “n1” through “n2”
out of each string of the input tuple StringStringStringStringstringValstring and
returns them as new strings in the output tuple SubstringSubstringSubstringSubstringsubstringsubstring. The
positions “n1” and “n2” are determined by the second and third input
tuples Position1Position1Position1Position1position1position_1 and Position2Position2Position2Position2position2position_2. Their
length has to be equal. If Position1Position1Position1Position1position1position_1 and Position2Position2Position2Position2position2position_2 only
contain one element, this element defines for all strings of
StringStringStringStringstringValstring “n1” and “n2”, respectively . If
StringStringStringStringstringValstring, Position1Position1Position1Position1position1position_1 and Position2Position2Position2Position2position2position_2 have got the
same number of elements, the first elements of Position1Position1Position1Position1position1position_1 and
Position2Position2Position2Position2position2position_2 determine the start and end position for the
first string of StringStringStringStringstringValstring. The second elements of Position1Position1Position1Position1position1position_1
and Position2Position2Position2Position2position2position_2 do so for the second string of StringStringStringStringstringValstring
and so on. If Position1Position1Position1Position1position1position_1 and Position2Position2Position2Position2position2position_2
contain more than one element and StringStringStringStringstringValstring contains only one string,
tuple_substrtuple_substrTupleSubstrTupleSubstrTupleSubstrtuple_substr cuts more than one substring out of this string.
The elements of Position1Position1Position1Position1position1position_1 and Position2Position2Position2Position2position2position_2 then determine
the start and end positions for
these substrings. If all input tuples contain more than one element but
differ in the number of elements, tuple_substrtuple_substrTupleSubstrTupleSubstrTupleSubstrtuple_substr returns an error.
If StringStringStringStringstringValstring is an empty tuple, the operator returns an empty tuple.
If StringStringStringStringstringValstring is not empty and Position1Position1Position1Position1position1position_1 and/or
Position2Position2Position2Position2position2position_2 are empty tuples, an exception is raised.
Unicode 码点与字节
The positions reference Unicode code points. One Unicode code point may be
composed of multiple bytes in the UTF-8 string. If the positions should
reference the raw bytes of the string, this operator can be switched to byte
mode with 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"). If
'filename_encoding'"filename_encoding""filename_encoding""filename_encoding""filename_encoding""filename_encoding" is set to 'locale'"locale""locale""locale""locale""locale" (legacy), this
operator always uses the byte mode.
For general information about string operations see
Tuple / String Operations.
HDevelop 内联操作
HDevelop provides an in-line operation for tuple_substrtuple_substrTupleSubstrTupleSubstrTupleSubstrtuple_substr,
which can be used in an expression in the following syntax:
Substring := String{Position1:Position2}
执行信息
- 多线程类型:独立(即使使用独占算子也能并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
StringStringStringStringstringValstring (输入控制) string(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Input tuple with string(s) to examine.
Position1Position1Position1Position1position1position_1 (输入控制) number(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)
Input tuple with start position(s) “n1”.
Position2Position2Position2Position2position2position_2 (输入控制) number(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)
Input tuple with end position(s) “n2”.
SubstringSubstringSubstringSubstringsubstringsubstring (输出控制) string(-array) → HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Characters of the string(s) from position “n1” to “n2”.
替代
tuple_str_first_ntuple_str_first_nTupleStrFirstNTupleStrFirstNTupleStrFirstNtuple_str_first_n,
tuple_str_last_ntuple_str_last_nTupleStrLastNTupleStrLastNTupleStrLastNtuple_str_last_n,
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
模块
基础