Wie

2016-08-08 15 views
-3

Teil der Zeichenfolge nach bestimmtem Wort in Python entfernen erhalte ich API-Antworten als Zeichenfolge, die in zwei verschiedenen Formaten sein können:Wie

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. 

Ich möchte den Text entfernen "Diese Nachricht wurde von ['name']" aus jeder Nachricht erstellt. Erwartetes Ergebnis:

Dies ist eine Nachricht.

Dies ist, was ich versucht habe:
modified_message = re.search('(.+?)<br><br>', message).group(1)

Es arbeitet mit dem 1) Beispiel, aber es funktioniert nicht mit 2) natürlich.

Wie könnte ich den Text von 2) Beispiel filtern, wie es ist mehrzeilige Zeichenfolge oder könnte es mit einem Ausdruck möglich sein?

+0

bitte posten Sie Ihre erwarteten Ein- und Ausgang, das scheint etwas verwirrend –

+0

Bitte fügen Sie Ihren Code/Ausgang/Fehler, falls vorhanden. –

+0

@akashkarothiya Hinzugefügt. – MMakela

Antwort

1

Bitte überprüfen Sie dies. Code hinzugefügt, um mehrzeilige Strings zu behandeln.

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) 

Ausgang:

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

Wie kann das funktionieren, wenn "Dies ist eine Nachricht" - Text ändert sich in jeder Zeichenfolge? – MMakela

+0

Bitte überprüfen Sie den bearbeiteten Code. –

+0

herausgefunden, dass, wenn die Nachricht Nummer enthält, Text vor der Nummer auch entfernt wird. Zum Beispiel eine Nachricht: 'Diese 1 ist eine Nachricht.

Diese Nachricht wurde von Jimmy erstellt. -> Ausgabe wird sein 'ist eine Nachricht.' – MMakela