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