Функция strings.substr
Функция strings.substr извлекает подстроку
из каждого элемента строкового тензора.
Первым параметром функция принимает строковый тензор,
вторым - позицию начала подстроки,
третьим - длину извлекаемой подстроки.
Позиция и длина могут быть как целыми числами,
так и тензорами целых чисел.
Синтаксис
tf.strings.substr(input, pos, len, [unit])
Пример
Давайте извлечем подстроку из строки 'abcde',
начиная с позиции 1 и длиной 3:
import tensorflow as tf
t = tf.constant(['abcde'])
res = tf.strings.substr(t, 1, 3)
print(res)
Результат выполнения кода:
tf.Tensor([b'bcd'], shape=(1,), dtype=string)
Пример
Давайте извлечем подстроки из нескольких строк с разными позициями начала:
import tensorflow as tf
t = tf.constant(['abcde', 'model.keras'])
pos = tf.constant([0, 6])
res = tf.strings.substr(t, pos, 5)
print(res)
Результат выполнения кода:
tf.Tensor([b'abcde' b'keras'], shape=(2,), dtype=string)
Пример
Давайте извлечем подстроки с разной длиной для каждой строки:
import tensorflow as tf
t = tf.constant(['abcde', 'model.keras'])
pos = tf.constant([0, 0])
length = tf.constant([2, 5])
res = tf.strings.substr(t, pos, length)
print(res)
Результат выполнения кода:
tf.Tensor([b'ab' b'model'], shape=(2,), dtype=string)
Пример
Давайте извлечем подстроку, начиная с позиции
0 и длиной -1,
что означает извлечение до конца строки:
import tensorflow as tf
t = tf.constant(['abcde'])
res = tf.strings.substr(t, 0, -1)
print(res)
Результат выполнения кода:
tf.Tensor([b'abcde'], shape=(1,), dtype=string)
Смотрите также
-
функцию
join,
которая объединяет строки в тензор -
функцию
split,
которая разбивает строки по разделителю -
функцию
length,
которая возвращает длину каждой строки -
функцию
unicode_decode,
которая декодирует байтовые строки в Unicode