найти все экземпляры !! / и заменить их строкой - PullRequest
0 голосов
/ 24 марта 2019

У меня есть строка в Python с !! / в ней, и я пытаюсь заменить экземпляры !! / на строку.

ЧТО Я ПЫТАЮСЬ: Я использую re.sub для поиска и замены, но моя строка поиска состоит из всех странных специальных символов, поэтому у меня возникают проблемы при написании регулярного выражения, которое находит то, что я хочу найти.

Мой код так далеко:

re.sub('\/\s!\s!', new_text, raw_text)

Моя программа на Python должна найти и заменить все экземпляры !! / внутри raw_text на new_text. Как я могу сделать это Найти / Заменить в Python с регулярным выражением?

Ответы [ 3 ]

1 голос
/ 24 марта 2019

Вам не нужно регулярное выражение для замены фиксированной строки.Вместо этого используйте метод str.replace для большей ясности и эффективности:

raw_text = raw_text.replace('!!/', new_text)
1 голос
/ 24 марта 2019

Если ваша строка !!/ является литералом, вам не нужно регулярное выражение.

raw_text = raw_text.replace('!!/', new_text)

Если вы хотите разрешить произвольные пробелы между символами, добавьте * квантификаторы:

raw_text = re_sub(r'!\s*!\s*/', new_text, raw_text)

Ваше регулярное выражение будет соответствовать '/ ! !', в котором символы расположены в другом порядке (косая черта перед восклицательным знаком) и не являются необязательными пробелами между символами.

Квантор * означает «ноль или более из предыдущего выражения»; есть также ? для «ноль или один» и + для «один или несколько».

Я предположил, что старое значение raw_text следует заменить, чтобы переменная завершилась обновленным значением.

0 голосов
/ 24 марта 2019

Ваше регулярное выражение должно быть !!\/

raw_text = "!!/ world"
new_text = "Hello"

s = re.sub('!!\/', new_text, raw_text)
print (s)

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