본문 바로가기
파이썬

파이썬에서 백 슬래시로 문자열 분할

by º기록 2020. 12. 11.
반응형

간단한 질문이지만 너무 많은 시간 동안 어려움을 겪고 있습니다. 기본적으로 문자열을 \ (백 슬래시)로 나누고 싶습니다.

 a = "1\2\3\4"

백 슬래시를 피하려고 시도했지만 작동하지 않는 것 같습니다.

 print(a.split('\'))
 print(a.split('"\"'))
 print(a.split('\\'))
 print(a.split('"\\"'))

이 결과를 얻고 싶습니다.

 ['1','2','3','4']

미리 감사드립니다.

 

해결 방법

 

백 슬래시를 이스케이프하는 올바른 아이디어가 있지만 모양이 어떻더라도 입력 문자열에는 실제로 백 슬래시가 없습니다. 입력에서도 이스케이프해야합니다!

>>> a = "1\\2\\3\\4"  # Note the doubled backslashes here!
>>> print(a.split('\\'))  # Split on '\\'
['1', '2', '3', '4']


>>> a = r"1\2\3\4"
>>> print(a.split('\\'))
['1', '2', '3', '4']

다른 곳에서 a 를 받고 있고 a.split ( '\\') 가 보이는 백 슬래시에서 적절하게 분할되지 않으면 다른 것이 있다는 의미입니다. 실제 백 슬래시 대신에. "literal"문자열이 실제로 어떻게 보이는지 확인하려면 print (repr (a)) 를 시도하십시오.

>>> a = '1\2\3\4'
>>> print(a)
1???
>>> print(repr(a))
'1\x02\x03\x04'

>>> b = '1\\2\\3\\4'
>>> print(b)
1\2\3\4
>>> print(repr(b))
'1\\2\\3\\4'

 

참조 페이지 https://stackoverflow.com/questions/25047976

 

 

반응형

댓글