从字符串的Tensor
返回子字符串。
用法
tf.strings.substr(
input, pos, len, unit='BYTE', name=None
)
抛出
-
ValueError
:如果第一个参数不能转换为dtype string
的张量。InvalidArgumentError
:如果索引超出范围。ValueError
:如果pos
和len
不是同一个形状。
参数
-
input
Tensor
类型为string
。弦张量 -
pos
一个Tensor
。必须是以下类型之一:int32
,int64
。标量定义每个子字符串中第一个字符的位置 -
len
一个Tensor
。必须与pos
具有相同的类型。标量定义要包含在每个子字符串中的字符数 -
unit
一个可选的string
来自:"BYTE", "UTF8_CHAR"
。默认为"BYTE"
。用于创建子字符串的单位。以下之一:"BYTE"
(用于按字节定义位置和长度)或"UTF8_CHAR"
(用于 UTF-8 编码的 Unicode 代码点)。默认值为"BYTE"
。如果unit=UTF8_CHAR
和input
字符串不包含结构上有效的 UTF-8,则结果未定义。 -
name
操作的名称(可选)。
返回
-
Tensor
类型为string
。
对于输入 Tensor
中的每个字符串,创建一个从索引 pos
开始的子字符串,总长度为 len
。
如果len
定义了一个超出输入字符串长度的子字符串,或者如果len
为负数,则使用尽可能多的字符。
负数pos
表示字符串内从末端向后的距离。
如果 pos
指定的索引超出任何输入字符串的范围,则抛出 InvalidArgumentError
。
pos
和 len
必须具有相同的形状,否则在创建操作时会抛出 ValueError
。
注意: Substr
最多支持二维广播。更多关于广播这里
例子
使用标量 pos
和 len
:
input = [b'Hello', b'World']
position = 1
length = 3
output = [b'ell', b'orl']
使用与 input
形状相同的 pos
和 len
:
input = [[b'ten', b'eleven', b'twelve'],
[b'thirteen', b'fourteen', b'fifteen'],
[b'sixteen', b'seventeen', b'eighteen']]
position = [[1, 2, 3],
[1, 2, 3],
[1, 2, 3]]
length = [[2, 3, 4],
[4, 3, 2],
[5, 5, 5]]
output = [[b'en', b'eve', b'lve'],
[b'hirt', b'urt', b'te'],
[b'ixtee', b'vente', b'hteen']]
将 pos
和 len
广播到 input
:
input = [[b'ten', b'eleven', b'twelve'],
[b'thirteen', b'fourteen', b'fifteen'],
[b'sixteen', b'seventeen', b'eighteen'],
[b'nineteen', b'twenty', b'twentyone']]
position = [1, 2, 3]
length = [1, 2, 3]
output = [[b'e', b'ev', b'lve'],
[b'h', b'ur', b'tee'],
[b'i', b've', b'hte'],
[b'i', b'en', b'nty']]
将 input
广播到 pos
和 len
:
input = b'thirteen'
position = [1, 5, 7]
length = [3, 2, 1]
output = [b'hir', b'ee', b'n']
相关用法
- Python tf.strings.split用法及代码示例
- Python tf.strings.strip用法及代码示例
- Python tf.strings.reduce_join用法及代码示例
- Python tf.strings.regex_full_match用法及代码示例
- Python tf.strings.regex_replace用法及代码示例
- Python tf.strings.length用法及代码示例
- Python tf.strings.bytes_split用法及代码示例
- Python tf.strings.as_string用法及代码示例
- Python tf.strings.unsorted_segment_join用法及代码示例
- Python tf.strings.lower用法及代码示例
- Python tf.strings.upper用法及代码示例
- Python tf.strings.unicode_decode_with_offsets用法及代码示例
- Python tf.strings.join用法及代码示例
- Python tf.strings.to_hash_bucket用法及代码示例
- Python tf.strings.ngrams用法及代码示例
- Python tf.strings.to_hash_bucket_strong用法及代码示例
- Python tf.strings.unicode_decode用法及代码示例
- Python tf.strings.unicode_encode用法及代码示例
- Python tf.strings.format用法及代码示例
- Python tf.strings.to_hash_bucket_fast用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.strings.substr。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。