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

Python에서 문자열의 탭을 여러 개의 공백으로 확장하는 방법

Python 문자열의 탭( )을 공백으로 바꾸는 방법

Python에서는 탭 문자(\t)를 여러 개의 공백으로 변환해야 하는 경우가 자주 있습니다. 대표적인 방법으로 문자열 클래스의 replace() 메서드를 사용하는 방식과, 정규 표현식을 활용하는 re 모듈 방식이 있습니다.

1. replace() 메서드 사용하기

Python의 문자열 클래스에는 replace()라는 메서드가 내장되어 있습니다. 이 메서드는 교체할 문자열새로 넣을 문자열 두 가지를 인자로 받으며, 문자열 객체에서 직접 호출합니다. 아래와 같이 탭을 공백으로 치환할 수 있습니다.

print('replace    tabs in      this string'.replace('\t', '   '))

실행 결과

replace    tabs in       this string

위 예제에서는 각 탭 문자를 세 개의 공백으로 바꿨습니다. 원하는 들여쓰기 폭에 맞춰 공백의 개수를 조절하면 됩니다.

2. re 모듈(정규 표현식) 사용하기

Python의 re 모듈을 사용하면 정규 표현식으로도 동일한 결과를 얻을 수 있습니다. re.sub(교체 대상 패턴, 교체할 문자열, 대상 문자열) 형태로 호출하여 문자열 내의 특정 문자를 치환합니다.

import re
print(re.sub('\t', ' ', 'replace  tabs in     this string'))

실행 결과

replace   tabs in        this string

정리

단순히 탭 하나를 고정된 개수의 공백으로 바꾸는 것이라면 str.replace()가 가장 간단하고 직관적입니다. 반면 탭뿐 아니라 연속된 공백 처리 등 더 복잡한 패턴 치환이 필요하다면 re.sub()를 활용하는 것이 유연합니다. 상황에 맞는 방법을 선택해 사용하시면 됩니다.