строка замены питона игнорировать новую строку - PullRequest
0 голосов
/ 06 февраля 2019

Например,

str="dddabc
d
e
xxxx
123
345"

, хотите заменить "abcde" на ноль.Новая строка должна быть

"ddd
xxxx
123
345"

Какой самый простой способ сделать это?

Если я урону новую строку, новая строка будет dddxxxx123345, и это неправильно

Это должно быть на Linux, так что \r\n может быть

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Использовать регулярное выражение re.sub

Возвращать строку, полученную путем замены крайнего левого не перекрывающегося вхождения шаблона в строке заменой repl.Если шаблон не найден, строка возвращается без изменений.repl может быть строкой или функцией;если это строка, обрабатываются все символы обратной косой черты в ней.

import re
st="""dddabc
d
e
xxxx
123
345
"""
rep="abcde"
print(re.sub(r'\n?'.join(rep),r'',st))

OUTPUT

ddd
xxxx
123
345
0 голосов
/ 06 февраля 2019

Используйте регулярные выражения следующим образом:

new_str = re.sub('a(\s)*b(\s)*c(\s)*d(\s)*e(\s)*', "", str)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...