, 당신은 '\\'
를 사용해야합니다. 이것이 효과가 없다고 생각하는 이유는 결과를 얻을 때 두 개의 백 슬래시로 시작하는 것처럼 보이기 때문입니다. 하지만 그들은 두 개의 백 슬래시로 시작하지 않습니다. 단지 파이썬 은 두 개의 백 슬래시를 보여줍니다. 그렇지 않은 경우 줄 바꿈 (\n
으로 표시)과 백 슬래시 뒤에 문자 n (\\n
으로 표시)의 차이를 알 수 없습니다.
실제 진행 상황을 확인하는 방법에는 두 가지가 있습니다. 하나는 탈출을 확장하는 데 원인이 결과에 인쇄를 사용하는 것입니다 :
>>> x = "here is a backslash \\ and here comes a newline \n this is on the next line"
>>> x
u'here is a backslash \\ and here comes a newline \n this is on the next line'
>>> print x
here is a backslash \ and here comes a newline
this is on the next line
>>> startback = x.find('\\')
>>> x[startback:]
u'\\ and here comes a newline \n this is on the next line'
>>> print x[startback:]
\ and here comes a newline
this is on the next line
또 다른 방법은 문자열의 길이를 확인하기 위해 len
을 사용하는 것입니다 len(x[startback:])
가 3
>>> x = "Backslash \\ !"
>>> startback = x.find('\\')
>>> x[startback:]
u'\\ !'
>>> print x[startback:]
\ !
>>> len(x[startback:])
3
공지 것을을 문자열에는 백 슬래시, 공백 및 느낌표의 세 가지 문자가 포함됩니다.당신은 단지 백 슬래시가 포함 된 문자열을 보면 훨씬 더 간단하게 무슨 일이 일어나고 있는지 볼 수 있습니다 : 그것은 두 개의 백 슬래시로 시작처럼
>>> x = "\\"
>>> x
u'\\'
>>> print x
\
>>> len(x)
1
x
만이 그것의 사용, 그렇지 않으면 대화 형 프롬프트에서 그것을 평가 (또는 때 보이는 __repr__
방법). 실제로 인쇄 할 때 백 슬래시가 하나 뿐인 것을 볼 수 있습니다. 길이를 보면 한 문자 만 볼 수 있습니다.
이 의미는 find
에서 백 슬래시를 이스케이프 처리해야하며 출력에 표시된 백 슬래시도 배가 될 수 있음을 인식해야합니다.
백 슬래시를 이스케이프 처리해야하기 때문입니다. 이렇게 :'source.find ('\\')'. – elmigranto
당신은 \ n이 2 문자라고 생각합니다. 그것들은 하나가 아니기 때문에 \와 n 또는 r 사이의 모든 것을 건너 뛸 수는 없습니다. 왜냐하면 2 문자가되어야하기 때문입니다. – uselpa
코드 강조 표시를위한 Btw 시계. 이 경우 소스가 잘못되어 잘못되었습니다. 이와 같은 보조 지표는 너무 많은 시간을 낭비하지 않고 버그를 찾는 데 유용합니다. –