tf.strings.substr
Возвращает подстроки из Tensor строк.
tf.strings.substr(
input, pos, len, unit='BYTE', name=None
)
Используется в блокнотах
| Используется в руководстве |
|---|
Для каждой строки во входном Tensor создает подстроку, начинающуюся с индекса pos и имеющую общую длину len.
Если len задает подстроку, выходящую за пределы длины входной строки, или если len отрицательно, используются все возможные символы.
Отрицательное значение pos указывает расстояние назад от конца строки.
Если pos задает индекс, выходящий за допустимые пределы для любой из входных строк, возникает исключение InvalidArgumentError.
pos и len должны иметь одинаковую форму, иначе при создании Op возникает исключение 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 | string типа Tensor. Tensor строк |
pos | Tensor. Допустимые типы: int32, int64. Скаляр, задающий позицию первого символа каждой подстроки |
len | Tensor. Должен иметь тот же тип, что и pos. Скаляр, задающий количество символов в каждой подстроке |
unit | Необязательный string из: "BYTE", "UTF8_CHAR". По умолчанию — "BYTE". Единица измерения, используемая для создания подстроки. Один из вариантов: "BYTE" (для задания позиции и длины в байтах) или "UTF8_CHAR" (для кодовых точек Unicode в кодировке UTF-8). По умолчанию используется "BYTE". Результаты не определены, если unit=UTF8_CHAR и строки input не содержат корректный структурно кодированный UTF-8. |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
string типа Tensor. |
© 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