StringSplit

StringSplit - 20

版本

  • 名称: StringSplit (GitHub)

  • : main

  • 始于版本: 20

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

此版本的操作符自版本 20起可用。

摘要

StringSplit 根据分隔符属性和最大分割次数属性将字符串张量中的元素分割成子字符串。

此运算符的第一个输出是一个字符串张量,表示通过在 delimiter 子字符串上分割每个输入字符串生成的子字符串。此张量比输入张量多一个秩,以便存储每个输入元素的子字符串(当输入张量不为空时)。请注意,为了确保最终维度中的元素数量相同,此张量将用空字符串进行填充,如下面的示例所示。连续的分隔符不会被合并,而是被视为分隔空字符串,除非 delimiter 未指定或为空字符串 (“”)。在 delimiter 未指定或为空字符串的情况下,连续的空格字符被视为单个分隔符,并且输出中会删除前导或尾随空格。

第二个输出张量表示生成的子字符串数量。 maxsplit 可用于限制执行的分割次数 - 在进行第 maxsplit 次分割后,如果字符串尚未完全分割,则最后的后缀也将被添加。对于分割次数少于 maxsplit 指定次数的元素,它没有效果。

属性

  • delimiter - STRING :

    用于分割的分隔符。如果未设置或设置为 (”) 空字符串,则输入将按连续的空格进行分割。

  • maxsplit - INT :

    最大分割次数(从左到右)。如果未设置(或者如果可能分割的次数少于 maxsplit),它将尽可能多地进行分割。请注意,使用 maxsplit 指定时,可能返回的最大子字符串数量是 maxsplit+1,因为包含第 maxsplit 次分割后的剩余后缀。

输入

  • X (异构) - T1

    要分割的字符串张量。

输出

  • Y (异构) - T2

    子字符串张量,表示在分隔符上分割输入中的字符串所产生的结果。请注意,为了确保最终秩中的元素数量相同,此张量将填充任何必要的空字符串。

  • Z (异构) - T3

    为每个输入元素生成的子字符串数量。

类型约束

  • T1 in ( tensor(string) )

    输入必须是 UTF-8 字符串张量

  • T2 in ( tensor(string) )

    子字符串张量。

  • T3 in ( tensor(int64) )

    生成的子字符串数量。