2016-07-22 10 views
-4

Für die folgende Eingabewie Leerzeichen, Sonderzeichen in HTML-Tags in Python

I/O 1< img > '< input > 
I/O 1<' img > '< input > 

ich die erforderliche Leistung, wie unten erkennen soll, und dies sollte geschehen, wenn < durch Leerzeichen vorhanden ist.

I/O 1<img>'<input> 

Kann mir jemand mit regulärem Ausdruck helfen?

Antwort

2

Versuchen <\s+, \s+> und >\s+:

import re 

s = "I/O 1< img > '< input >" 
s = re.sub(r"<\s+", "<", s) 
s = re.sub(r"\s+>", ">", s) 
s = re.sub(r">\s+", ">", s) 
print(s) 

Ausgang:

I/O 1<img>'<input> 
+0

I definiert bereits meine starttagopen = re.compile (' <[> a-zA-Z]'), wie kann ich ändern über Code – Venu

+0

@Venu zu haben, verstehe ich nicht. Wenn Sie bereits Code haben, den Sie ausprobiert haben, bearbeiten Sie Ihre Frage und fügen Sie sie dort ein. –

0
s= "I/O 1< img > '< input >" 

das Starten des HTML-Tag mit s.find finden ('<')

s [0: s.find ('<')] wird s Wählen Sie die Teilzeichenfolge von 0 bis zu einem Index vor dem Start des HTML-Tags

s [s.find ('<'):] wird die Teilzeichenfolge beginnend vom Anfang des HTML-Tags bis zum Ende auswählen.

s.replace (' ' '') ersetzt Räume mit no_spaces

(s[0:s.find('<')]) + (s[s.find('<'):].replace(' ','')) 
+0

hi, die Leerzeichen, Sonderzeichen können beliebig lang sein. Danke für die Antwort. Das Hauptziel ist das Ausschneiden von Leerzeichen, Sonderzeichen nach "<" – Venu

+0

Hi, ich habe gerade einen Schnitt gemacht. Ausgehend vom Index von '<' mit s.find ('<') –

+1

Bitte [bearbeiten] (http://stackoverflow.com/posts/38561914/edit) zu erklären, wie dies hilft, die Frage des Benutzers zu lösen. – Pureferret

Verwandte Themen