gpt4 book ai didi

python - 如何在 Python 中将双反斜杠替换为单个字节字符串

转载 作者:太空宇宙 更新时间:2023-11-03 13:08:12 24 4
gpt4 key购买 nike

我想在 Python 中将字节字符串的双反斜杠替换为单反斜杠。

例如,有一个字节串。

word = b'Z\xa6\x97\x86j2\x08q\\r\xca\xe6m'

我需要这个字节串。

word = b'Z\xa6\x97\x86j2\x08q\r\xca\xe6m'

如果我像这样使用替换:

word = word.replace(b"\\",b"\")

我遇到了这个错误。

File "test.py", line 79
word = word.replace(b"\\", b"\")
^
SyntaxError: EOL while scanning string literal

有人知道怎么做吗?

最佳答案

\\ 不是双反斜杠,而是一个转义。看:

print b'Z\xa6\x97\x86j2\x08q\\r\xca\xe6m'
# Z���jq\r��m

\r(来自您想要的输出)不是 2 个字符而是一个:

print b'Z\xa6\x97\x86j2\x08q\r\xca\xe6m'
# ��m�jq

(打印到终端时,carriage return \r 阻止我们看到第一个字母 Z)

如果您真的想用'\r'替换'\\r',您可以这样做:

print repr(word.replace('\\r', '\r'))
# 'Z\xa6\x97\x86j2\x08q\r\xca\xe6m'
print word.replace('\\r', '\r')
# ��m�jq

或者,如果你想替换所有的 escape sequences . Python2版本:

print repr(b'1\\t2\\n3'.decode('string_escape'))
# '1\t2\n3'
print b'1\\t2\\n3'.decode('string_escape')
# 1 2
# 3

Python3版本:

print(repr(b'1\\t2\\n3'.decode('unicode_escape')))
# '1\t2\n3'
print(b'1\\t2\\n3'.decode('unicode_escape'))
# 1 2
# 3

关于python - 如何在 Python 中将双反斜杠替换为单个字节字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51210485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com