Python兩個斜槓替換爲一個斜槓

問題描述




解決方案

調用eval()repr()

eval() 根據提供的字符串進行計算

>>> x = 1
>>> eval('x+1')
2

repr() 返回對象打印表示的字符串

>>> s = "\\xe5\\xa5\\xbd"
>>> s
'\\xe5\\xa5\\xbd'
>>> str(s)
'\\xe5\\xa5\\xbd'
>>> repr(s)
"'\\\\xe5\\\\xa5\\\\xbd'"




代碼

s = "\\xe5\\xa5\\xbd"
s = eval(repr(s).replace("\\\\", "\\"))
print(s.encode('raw_unicode_escape').decode())
# 好

封裝一下

def twoToOneSlash(s: str) -> str:
    '''兩個斜槓替換爲一個斜槓

    >>> twoToOneSlash('\\xe5\\xa5\\xbd')
    '\xe5\xa5\xbd'
    '''
    return eval(repr(s).replace("\\\\", "\\"))




參考文獻

  1. python將雙斜槓替換爲單斜槓
  2. eval()
  3. repr()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章