регулярное выражение (замена v на версию) - PullRequest
0 голосов
/ 17 января 2020

Я хотел бы иметь возможность заменить букву 'v' в случае необходимости на 'Версия'

Текущие данные представлены в виде:

v6
version 6
v 6

Я пробовал разные варианты этого, чтобы выбрать только необходимые значения для изменения на 'Версия

df.replace(to_replace = 'v[\d ]', value = 'version', regex = True)

Ожидаемый результат правильное выражение замены будет:

version 6
version 6
version 6

Ответы [ 2 ]

2 голосов
/ 17 января 2020

Попробуйте это регулярное выражение:

(?i)\bv\s*(\d+)

Замените каждый матч на version \1

Нажмите для демонстрации

Объяснение:

  • (?i) - сделать регулярное выражение без учета регистра
  • \b - граница слова
  • v\s* - соответствует букве v, за которой следуют 0+ пробелов
  • (\d+) - соответствует и захватывает 1+ цифр в группе 1
1 голос
/ 17 января 2020
import re
result = re.sub(r'v\s*(\d+)', 'version \\1', "v6\nversion 6\nv 6")
print(result)

output:
version 6
version 6
version 6

v совпадение v

\s* совпадение ноль или более пробелов

(\d+) группа захвата для одной цифры или более

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...