2016-04-04 7 views
1

<20> UNIQUE Registeredhostname <20> UNIQUE Registeredにあり、Pythonで""に置き換えています。以下は私のコードです。私の構文は、この文字列を置換することが間違っている場所をお知らせください:Regex Pythonエラー

string = string.replace(r'<\d*2> UNIQUE  Registered ', "") 

答えて

4

replace()は、正規表現の置換を行うことはできません。代わりにre.sub()を使用してください:\d{2}が2以降の桁、\s+一致し

>>> import re 
>>> s = "hostname <20> UNIQUE  Registered" 
>>> re.sub(r"<\d{2}>\s+UNIQUE\s+Registered", "", s) 
'hostname ' 

- 一つ以上の空白文字を。

注意点として、あなただけのスペースで文字列を分割し、最初の項目を取得できませんでした:

>>> s.split()[0] 
'hostname' 
+0

を 'split'方法を働きました。私は動作する 'sub'メソッドを得ることができなかった – pHorseSpec