2014-01-18 53 views
1

我試圖找出如何從一個JSON URL站點刪除\ R和\ N和「\,但每次我嘗試它一直被截斷時,我輸出的結果有:如何使用re.py刪除 r和 n?

\r\n\r\n 
\n\n 
\n 
\r 
"\wordhere"\ 

如果你能幫助我,我將不勝感激。

回答

3

你不需要正則表達式這一點。 你可以使用replace方法從字符串類。

string = 'abc\r\n\r\n\\\\' 
string = string.replace('\r', '') 
string = string.replace('\n', '') 
string = string.replace('\\', '') 

但是,如果你真的想用正則表達式中, possib le方法是:

string = re.sub('\\r*\\n*\\\\*', '', string) 

當匹配特殊字符時,它們需要用反斜線進行轉義。但是,當匹配反斜槓時,您需要使用四個反斜槓。

+0

那豈不是正則表達式唯一的替代者 '\ r \ n'?我假設OP希望單數'\ r'和'\ n'也被刪除。 – jayelm

+0

@ jmu303你是對的,謝謝。我編輯了正則表達式,所以它會匹配任何數量的'\ r'和'\ n's。 – koplersky

+0

同樣,我認爲'string.replace'也必須改變,可能會改爲兩個替換函數(一個用於'\ r'',另一個用於''\ n'') – jayelm

4

使用strict=False加載時,看到python json docs

>>> s 
'\n{\n\r\n\r\n\n\n\n\n\n\n\r\n"wordhere": 0}\n' 
>>> json.loads(s, strict=False) 
{u'wordhere': 0}