StringSplit¶
StringSplit - 20¶
版本¶
網域:
main
since_version:
20
function:
False
support_level:
SupportType.COMMON
shape inference:
True
此運算子的版本自 20 版起可用。
摘要¶
StringSplit 根據分隔符號屬性和 maxsplit 屬性將字串張量的元素分割為子字串。
此運算子的第一個輸出是一個字串張量,表示根據 delimiter
子字串分割每個輸入字串所產生的子字串。為了儲存每個輸入元素的子字串(在輸入張量不為空的情況下),此張量比輸入張量多一個維度。請注意,為了確保最終維度中存在相同數量的元素,此張量會填補空字串,如下例所示。連續的分隔符號不會被分組在一起,並且被視為分隔空字串,除非 delimiter
未指定或為空字串 ("")。如果 delimiter
未指定或為空字串,則連續的空白字元將被視為單一分隔符,且輸出中會移除前導或尾隨的空白。
第二個輸出張量表示產生的子字串數。 maxsplit
可用於限制執行的分割次數 - 如果字串在第 maxsplit
次分割後尚未完全分割,則也會加入最後一個分割點後的輸入字串尾碼。對於分割次數少於 maxsplit
中指定次數的元素,則沒有任何影響。
屬性¶
delimiter - 字串 :
分割依據的分隔符號。如果未設定或設定為空字串 (""),則輸入會根據連續的空白分割。
maxsplit - 整數 :
最大分割次數(從左到右)。如果未設定(或可能分割的次數少於 maxsplit),則會進行盡可能多的分割。請注意,指定
maxsplit
時,傳回的最大可能子字串數量是maxsplit+1
,因為最後一個分割點後的剩餘尾碼也會包含在輸出中。
輸入¶
X (異質) - T1
要分割的字串張量。
輸出¶
Y (異質) - T2
子字串張量,表示在輸入中依據分隔符號分割字串的結果。請注意,為了確保最終維度中存在相同數量的元素,此張量將填補任何必要的空字串。
Z (異質) - T3
為每個輸入元素產生的子字串數量。
類型約束¶
T1 在 (
tensor(string)
) 中輸入必須是 UTF-8 字串張量
T2 在 (
tensor(string)
) 中子字串張量。
T3 在 (
tensor(int64)
) 中產生的子字串數量。