2015-04-07 32 views
0

我試圖替換使用Python中應用re.sub空行字符,但它拋出一些錯誤正則表達式子被拋出一些錯誤蟒蛇

import re 

string = "\asdfsdfsdf\dfd\f\df\df\d" 
re.sub("\\","",string) 
print (string) 

輸出:

Traceback (most recent call last): 
    File "variable_concat.py", line 4, in <module> 
    re.sub("\\","",string) 
    File "/usr/lib/python2.7/re.py", line 151, in sub 
    return _compile(pattern, flags).sub(repl, string, count) 
    File "/usr/lib/python2.7/re.py", line 244, in _compile 
    raise error, v # invalid expression 
sre_constants.error: bogus escape (end of line) 

哪裏是錯誤

回答

0

您需要定義輸入字符串以及原始字符串表示法中的模式。

>>> string = r"\asdfsdfsdf\dfd\f\df\df\d" 
>>> print(string) 
\asdfsdfsdf\dfd\f\df\df\d 
>>> re.sub(r"\\","",string) 
'asdfsdfsdfdfdfdfdfd' 

如果輸入字符串沒有被定義爲原始字符串,\a在字符串中會變成一個Unicode字符。