字符串分割

StringSplit - 20

版本

  • 名称: StringSplit (GitHub)

  • 域名: main

  • since_version: 20

  • 函数: False

  • support_level: SupportType.COMMON

  • 形状推断: True

此版本的运算符自版本20起可用。

摘要

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

此运算符的第一个输出是一个字符串张量,表示在每个输入字符串上根据delimiter子字符串分割后的子字符串。与输入张量相比,此张量增加了一个额外的维度,以便存储每个输入元素的子字符串(当输入张量不为空时)。请注意,为了确保最终维度中的元素数量相同,此张量将填充空字符串,如下面的示例所示。连续的delimiter不会被分组在一起,并且被视为分隔空字符串,除非delimiter未指定或为空字符串(“”)。在delimiter未指定或为空字符串的情况下,连续的空白字符被视为单个分隔符,并且输出中会去除前导或尾随的空白字符。

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

属性

  • delimiter - STRING :

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

  • maxsplit - INT :

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

输入

  • X (异构) - T1:

    要拆分的字符串张量。

输出

  • Y (异构) - T2:

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

  • Z (异构) - T3:

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

类型约束

  • T1 在 ( tensor(string) ) 中:

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

  • T2 在 ( tensor(string) ) 中:

    子字符串的张量。

  • T3 在 ( tensor(int64) ) 中:

    生成的子字符串数量。