Функция strings.regex_replace
Функция strings.regex_replace применяется к тензору строк
и выполняет замену подстрок, соответствующих регулярному
выражению. Первым параметром передается исходный тензор
строк, вторым - шаблон регулярного выражения, третьим -
строка замены. Дополнительно можно указать флаг
replace_global, который определяет, нужно ли заменять
все совпадения или только первое.
Синтаксис
tf.strings.regex_replace(input, pattern, rewrite, [replace_global], [name])
Пример
Давайте заменим все цифры в строке на символ
#:
import tensorflow as tf
t = tf.constant(['abc123de', 'model456.keras'])
res = tf.strings.regex_replace(t, '[0-9]', '#')
print(res)
Результат выполнения кода:
tf.Tensor([b'abc###de' b'model###.keras'], shape=(2,), dtype=string)
Пример
Давайте заменим точки на подчеркивания в имени файла:
import tensorflow as tf
t = tf.constant(['model.keras', 'abcde'])
res = tf.strings.regex_replace(t, '\\.', '_')
print(res)
Результат выполнения кода:
tf.Tensor([b'model_keras' b'abcde'], shape=(2,), dtype=string)
Пример
Давайте заменим только первое вхождение цифры,
указав replace_global=False:
<+python+>
import tensorflow as tf
t = tf.constant(['abc123de'])
res = tf.strings.regex_replace(t, '[0-9]', '#', replace_global=False)
print(res)
<-python+>
Результат выполнения кода:
tf.Tensor([b'abc#23de'], shape=(1,), dtype=string)
Смотрите также
-
функцию
regex_full_match,
которая проверяет полное совпадение строки с шаблоном -
функцию
split,
которая разбивает строки по разделителю -
функцию
join,
которая объединяет тензор строк в одну строку -
функцию
substr,
которая извлекает подстроки из строк