StringSplit

StringSplit - 20

版本

  • 名稱: StringSplit (GitHub)

  • 網域: 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) ) 中

    產生的子字串數量。