StringSplit

StringSplit - 20

版本

  • 名称: StringSplit (GitHub)

  • : main

  • 起始版本: 20

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

该版本的算子 从版本 20 开始可用

摘要

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

该算子的第一个输出是一个字符串张量,表示将每个输入字符串按 delimiter 子字符串分割后得到的子字符串。与输入张量相比,该张量多出一个维度,用于存储每个输入元素的子字符串(输入张量非空时)。请注意,为了确保最终维度中的元素数量相同,该张量会填充空字符串,如下面的示例所示。连续的分隔符不会被分组,它们被视为分隔空字符串,除非 delimiter 未指定或为空字符串("")。在分隔符未指定或为空字符串的情况下,连续的空白字符被视为单个分隔符,并且输出中会移除前导或尾随的空白字符。

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

属性

  • delimiter - STRING :

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

  • maxsplit - INT :

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

输入

  • X (异构) - T1

    要分割的字符串张量。

输出

  • Y (异构) - T2

    字符串张量,表示按分隔符分割输入字符串的结果。请注意,为了确保最终维度中的元素数量相同,该张量将填充任何必要的空字符串。

  • Z (异构) - T3

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

类型约束

  • T1 属于 ( tensor(string) )

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

  • T2 属于 ( tensor(string) )

    子字符串张量。

  • T3 属于 ( tensor(int64) )

    生成的子字符串数量。