2016-08-08 3 views
-3

я получаю API-ответы в виде строки, которая может находиться в двух различных форматах:Как удалить часть строки после определенного слова в Python

1) This is a message. <br><br>This message was created by Jimmy.

2)

This is a message. 

Text can be in the new row. 

This message was created by Jimmy. 

Я хочу удалить текст «Это сообщение было создано ['name']" из каждого сообщения. Ожидаемый результат:

Это сообщение.

Это то, что я пробовал:
modified_message = re.search('(.+?)<br><br>', message).group(1)

Он работает с) примера 1, но не с 2), конечно.

Как я могу отфильтровать текст из примера 2, поскольку это многострочная строка или это возможно с одним выражением?

+0

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

+0

Пожалуйста, вставьте код/​​выход/ошибки, если таковые имеются. –

+0

@akashkarothiya Добавлено. – MMakela

ответ

1

Пожалуйста, проверьте это. Добавлен код для обработки многострочных строк.

import re 
data1 = "This is a message. <br><br>This message was created by Jimmy." 
data2 = """ 
This is a message. 

This message was created by Jimmy. 
""" 
print "First case..." 
print data1 
output1 = re.findall('(.*?)This message was created',data1,re.DOTALL)[0].replace("<br>",'') 
print "Output is ..." 
print(output1) 
print "----------------------------------------" 
print "Second Case..." 
print data2 
print "Output is ..." 
output2 = re.findall('(.*?)This message was created',data1,re.DOTALL)[0].replace("<br>",'') 
print(output2) 

Выход:

C:\Users>python main.py 
First case... 
This is a message. <br><br>This message was created by Jimmy. 
Output is ... 
This is a message. 
---------------------------------------- 
Second Case... 

This is a message. 

This message was created by Jimmy. 

Output is ... 

This is a message. 
+0

Как это может работать, если «Это сообщение» -текст изменяется в каждой строке? – MMakela

+0

Проверьте отредактированный код. –

+0

Выяснилось, что если сообщение содержит номер, текст перед номером также будет удален. Например, сообщение: «Это 1 - это сообщение.

Это сообщение было создано Jimmy.' -> output будет 'is message.' – MMakela

Смежные вопросы