tf.strings.substr
Возвращает подстроки из Tensor строк.
tf.strings.substr(
input, pos, len, unit='BYTE', name=None
)
Используется в блокнотах
| Используется в руководстве |
|---|
Для каждой строки в входном 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']
Использование pos и len с такой же формой, как и input:
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']
| Возможные исключения | |
|---|---|
|
| Аргументы | |
|---|---|
input | Tensor тип string. Тензор строк |
pos | Tensor. Должен быть одного из следующих типов: int32, int64. Скаляр, определяющий позицию первого символа в каждой подстроке |
len | Tensor. Должен иметь тот же тип, что и pos. Скаляр, определяющий количество символов для включения в каждую подстроку |
unit | Необязательный string из: "BYTE", "UTF8_CHAR". По умолчанию "BYTE". Единица, используемая для создания подстроки. Один из: "BYTE" (для определения позиции и длины в байтах) или "UTF8_CHAR" (для UTF-8 закодированных точек кода Юникода). По умолчанию "BYTE". Результаты будут неопределенными, если unit=UTF8_CHAR и строки input не содержат структурно корректного UTF-8. |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
Tensor тип string. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/strings/substr