그래서 이것을 이해할 수없는 것 같습니다 ... 문자열이 "a\\nb"
이고이 코드가 "a\nb"
이 되길 원합니다. 나는 다음을 시도했지만 아무 것도 작동하지 않는다.파이썬 \을 012와 바꾸십시오.
>>> a
'a\\nb'
>>> a.replace("\\","\")
File "<stdin>", line 1
a.replace("\\","\")
^
SyntaxError: EOL while scanning string literal
>>> a.replace("\\",r"\")
File "<stdin>", line 1
a.replace("\\",r"\")
^
SyntaxError: EOL while scanning string literal
>>> a.replace("\\",r"\\")
'a\\\\nb'
>>> a.replace("\\","\\")
'a\\nb'
마지막 작품이 왜 잘 작동하기 때문에
내가 정말 이해가 안 : 여기 누락 뭔가
>>> a.replace("\\","%")
'a%nb'
있습니까?
수정 나는 \가 이스케이프 문자라는 것을 알고 있습니다. 내가 여기서하려고하는 것은 모든 \\n
\\t
등을 \n
\t
등으로 바꿔서 바꾸는 것이 내가 상상했던 방식대로 작동하지 않는 것 같습니다.
>>> a = "a\\nb"
>>> b = "a\nb"
>>> print a
a\nb
>>> print b
a
b
>>> a.replace("\\","\\")
'a\\nb'
>>> a.replace("\\\\","\\")
'a\\nb'
문자열 a를 문자열 b처럼 보이기를 원합니다. 하지만 교체는 슬래시를 대체하지 않는다고 생각했습니다.
원래 문자열,'A = '는 \\ nb ''은 실제로 두 개의' '\'문자가 없으며, 첫 번째 문자는 두 번째 문자의 이스케이프 문자입니다. 'print a'를하면''\ ''문자 하나만있는 것을 볼 수 있습니다. – Santa