Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에서 문자열의 백슬래시(\)를 분리하고 처리하는 방법

프로그래밍을 하다 보면 파일 경로나 윈도우 환경에서 생성된 문자열에 백슬래시(\)가 포함되어 있는 경우가 많습니다. 이런 문자열을 다룰 때 백슬래시를 기준으로 문자열을 나누거나 다른 문자로 바꿔야 할 필요가 생기는데, 의외로 헷갈리기 쉬운 부분입니다.

파이썬에서 백슬래시 기준으로 문자열 나누기

파이썬에서는 split() 메서드를 사용하면 간단하게 원하는 결과를 얻을 수 있습니다. 핵심은 백슬래시가 이스케이프(escape) 문자이기 때문에 코드 안에서 표현할 때 반드시 두 개(\\)로 작성해야 한다는 점입니다.

>>> var = "aaa\\bbb\\ccc and ddd\\eee"
>>> var.split('\\')
['aaa', 'bbb', 'ccc and ddd', 'eee']

위 예제를 보면 var 변수에는 aaa\bbb\ccc and ddd\eee라는 문자열이 들어 있습니다. 여기에 split('\\')을 호출하면 백슬래시를 구분자로 인식하여 네 개의 부분 문자열 리스트가 반환됩니다.

왜 백슬래시를 두 개 써야 할까?

파이썬에서 \n(줄바꿈), \t(탭)처럼 백슬래시 하나는 특수 문자를 나타내는 이스케이프 시퀀스로 해석됩니다. 따라서 문자 그대로의 백슬래시 하나를 표현하려면 \\처럼 두 번 입력해야 합니다. 이 점만 유의하면 split(), replace() 등 어떤 문자열 메서드에서도 문제없이 사용할 수 있습니다.

백슬래시를 다른 문자로 바꾸고 싶다면?

문자열을 나누는 것이 아니라 백슬래시 자체를 슬래시(/) 같은 다른 문자로 교체하고 싶다면 replace() 메서드를 활용하면 됩니다.

>>> var = "aaa\\bbb\\ccc"
>>> var.replace('\\', '/')
'aaa/bbb/ccc'

정리

  • 백슬래시는 이스케이프 문자이므로 코드에서는 \\로 표기해야 합니다.
  • 문자열 분리에는 split('\\')을 사용합니다.
  • 단순 치환에는 replace('\\', '/')를 사용합니다.

이 두 가지 메서드만 익혀두면 경로 문자열 처리와 관련된 대부분의 상황을 손쉽게 해결할 수 있습니다.