Как удалить указанный шаблон из строки с регулярным выражением Python? - PullRequest
0 голосов
/ 19 декабря 2018

Вот моя строка '2018-01-31 05:29:37 | Jan Pong Lee | [Number of contacts]:1'

Я хотел бы удалить '| Jan Pong Lee |'.Название может состоять из 2 или 4 слов, есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Вот решение:

old_str =  '2018-01-31 05:29:37 | Jan Pong Lee | [Number of contacts]:1'
new_str = "{} | {}".format(old_str.split('|')[0], old_str.split('|')[2])
0 голосов
/ 19 декабря 2018

Вы можете использовать это регулярное выражение для сопоставления и замены его пустой строкой,

\|[^|]*\|

Объяснение этого регулярного выражения: Это регулярное выражение в основном захватывает |, за которым следует любой символ (за исключением |) ноль или более раз и, наконец, захватывает символ |, а затем прекращает захват и заменяет все совпадающие символы пустой строкой.

Live Demo

Вот код Python для того же самого,

import re

s = '2018-01-31 05:29:37 | Jan Pong Lee | [Number of contacts]:1'
ret = re.sub(r'\|[^|]*\|', '', s)
print (ret)

, который печатает оставшуюся строку после удаления | Jan Pong Lee |.Это будет работать независимо от того, сколько у вас слов в этих трубах.

2018-01-31 05:29:37  [Number of contacts]:1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...