tf.strings.substr
| Просмотреть исходный код на GitHub |
Возвращает подстроки из 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 | A Tensor типа string. Тензор строк |
pos | A Tensor. Должен быть одного из следующих типов: int32, int64. Скаляр, определяющий позицию первого символа в каждой подстроке |
len | A Tensor. Должен иметь тот же тип, что и pos. Скаляр, определяющий количество символов для включения в каждую подстроку |
unit | Необязательный string из: "BYTE", "UTF8_CHAR". По умолчанию "BYTE". Единица, используемая для создания подстроки. Одна из: "BYTE" (для определения позиции и длины байтами) или "UTF8_CHAR" (для UTF-8 кодированных Unicode кодовых точек). По умолчанию "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/r2.3/api_docs/python/tf/strings/substr