Функция strings.split
Функция strings.split разбивает входные строки
на подстроки по указанному разделителю.
Первым параметром функция принимает тензор строк,
вторым - разделитель delimiter.
Третьим параметром можно указать максимальное
количество разбиений maxsplit.
Функция возвращает разреженный тензор
SparseTensor или обычный тензор
в зависимости от параметра result_type.
Синтаксис
tf.strings.split(input, sep=None, maxsplit=-1, result_type='SparseTensor')
Пример
Давайте разобьем строку 'abcde' по символу 'c':
import tensorflow as tf
t = tf.constant(['abcde'])
res = tf.strings.split(t, sep='c')
print(res)
Результат выполнения кода:
tf.SparseTensor(indices=tf.Tensor(
[[0 0]
[0 1]], shape=(2, 2), dtype=int64), values=tf.Tensor([b'ab' b'de'], shape=(2,), dtype=string), dense_shape=tf.Tensor([1 2], shape=(2,), dtype=int64))
Пример
Давайте разобьем строку 'model.keras' по символу '.'
и получим плотный тензор:
import tensorflow as tf
t = tf.constant(['model.keras'])
res = tf.strings.split(t, sep='.', result_type='RaggedTensor')
print(res)
Результат выполнения кода:
<tf.RaggedTensor [[b'model', b'keras']]>
Пример
Давайте разобьем несколько строк из тензора и ограничим количество разбиений:
import tensorflow as tf
t = tf.constant(['abcde', 'model.keras'])
res = tf.strings.split(t, sep='.', maxsplit=1, result_type='RaggedTensor')
print(res)
Результат выполнения кода:
<tf.RaggedTensor [[b'abcde'], [b'model', b'keras']]>
Смотрите также
-
функцию
join,
которая объединяет строки в одну -
функцию
reduce_join,
которая объединяет строки по указанной оси -
функцию
unicode_split,
которая разбивает строки на символы Unicode -
функцию
bytes_split,
которая разбивает строки на байты