Python反向转义字符

2024-09-30 01:34:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我要将转义字符转换回原始形式:

>>> myString="\\10.10.10.10\view\a"
>>> myString
'\\10.10.10.10\x0biew\x07'
>>>desiredString=fun(myString)
>>>print desiredString
'\\10.10.10.10\view\a'

我研究了很多,找不到解决办法 我用的是Python2.6。在


Tags: view形式printfunmystringx07解决办法转义字符
3条回答

打印时,\v和{}被解释为特殊字符。别担心,只要再加一个反斜杠就可以了。在

>>> myString="\\10.10.10.10\\view\\a"
>>> print(myString)
\10.10.10.10\view\a

编辑: 或使用repr

^{pr2}$
myString=r"\\10.10.10.10\view\a" 
myString
'\\\\10.10.10.10\\view\\a'
print myString
\\10.10.10.10\view\a

字符串是'r'…'

理想情况下,您应该使用python内置字符串函数或正确解析输入数据,这样就可以避免这些后期转换。事实上,这些定制解决方案根本不受鼓励,但现在您可以:

def fun(input_str):
    cache = {
        '\'':"\\'",
        '\"':'\\"',
        '\a':'\\a',
        '\b':'\\b',
        '\f':'\\f',
        '\n':'\\n',
        '\r':'\\r',
        '\t':'\\t',
        '\v':'\\v'
    }

    return "".join([cache.get(m,m) for m in list(input_str)])

tests = [
    "\\10.10.10.10\view\a",
    "\'",
    '\"',
    '\a',
    '\b',
    '\f',
    '\n',
    '\r',
    '\t',
    '\v'
]

for t in tests:
    print repr(t)," => ",fun(t)

相关问题 更多 >

    热门问题