簡體   English   中英

無法使用python中的替換函數替換字符串中的反斜杠?

[英]Unable to replace backslash from a string using replace function in python?

我正在嘗試從 python 中的字符串中刪除反斜杠。 我使用的代碼如下:

vb='\x82\x81'
vb.replace('\\',"")

The output I am getting is the same string:

'\x82\x81'

The output I want is:

'x82x81'

可以將變量定義為原始字符串:

>>> vb=r'\x82\x81'
>>> vb.replace('\\',"")
'x82x81'

由於答案解決了 OP 的問題,並且有人似乎對它的工作感到不安(感謝角落案例),因此在“來自文件或網絡請求或其他任何內容的實際輸入”的情況下,這里有一些其他解決方案(最后一個應該是最通用的):

>>> vb='\x82\x81'
>>> vb=repr(vb).strip("'")
>>> vb.replace('\\',"")
'x82x81'

\\x09\\x0a\\x5c\\x61等的情況下。

>>> vb='\x09\x0a\x5c\x61\x80\x08\x90\x00\x10\x01'
>>> ''.join([ hex(ord(b))[1:].zfill(3).replace('0x','x0') for b in vb ])
'x09x0ax5cx61x80x08x90x00x10x01'

是的,它很丑,但有效(雖然不能測試太多) - 可能有更簡單的方法,嗯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM