본문 바로가기
programming/Python

파이썬 문자열의 공백 제거 변경 분할하고 나누기

by 개코 - 개발과 코딩 2021. 7. 30.

문자열을 연산해서 사용하는 것은 중요할 수 있고 그렇지 않을 수도 있지만 많이 사용하는 부분이다. 특히 뜻하지 않은 공백을 제거하거나 특정 문자열을 변경하거나 혹은 특정 문자로 문자열을 분할하거나 나눌 수 있다. 이런 몇가지 기능을 보자 어렵지 않다. 이 부분은 다른 언어들도 다루는 부분이기도 하다.

파이썬 문자열 공백제거, 변환 치환, 분할 나누기
파이썬 문자열 공백제거, 변환 치환, 분할 나누기

 

strip() 문자열의 시작과 끝의 공백제거

파이썬에서 문자열의 시작과 끝에 공백이 들어갈 때가 가끔 있다.

이 경우 뜻하지 않은 에러가 생길 수도 있고, 문자열 연산시 인덱스의 계산에 영향이 미칠 수 있다.

중요하지 않을 수 있지만 데이터베이스를 연결하거나 다른 이기종과의 데이터 교환시 문자열의 시작과 끝에 뜻하지 않은 공백이 생길 때 사용하면 의도하지 않은 에러를 방지하는데 도움이 된다.

vStr = ' 파이썬에서, 문자열의 시작과 끝의 공백제거하고, 문자열 변경을 하고, 문자열 분할 나누기를 합니다.'
print('원본 문자열 - ', vStr, type(vStr), len(vStr))

vStrip = vStr.strip()
print('시작, 끝의 공백제거 strip - ', vStrip, type(vStrip), len(vStrip))

 

replace() 문자열 변환 또는 치환

특정 문자열을 변경할 때는 replace를 사용한다.

이 함수는 익숙할 것이다.

다른 언어에도 함수명이 같다. 이 함수는 원본문자열과 변경할 문자열을 인자값으로 하여 자신이 지정한 특정 문자열을 변경한다.

vStr = ' 파이썬에서, 문자열의 시작과 끝의 공백제거하고, 문자열 변경을 하고, 문자열 분할 나누기를 합니다.'
print('원본 문자열 - ', vStr, type(vStr), len(vStr))

vReplace = vStr.replace('파이썬', 'Python')
vReplace = vReplace.replace('공백제거', 'strip')
vReplace = vReplace.replace('변경', 'replace')
vReplace = vReplace.replace('분할', 'split')
print('문자열 변환 - ', vReplace, type(vReplace), len(vReplace))

 

split() 문자열 리스트로 나누고 분할하기

split() 함수는 문자열에 특정구분자가 있다면 리스트나 배열의 형태로 문자열을 나눌 수 있다.

길고 긴 문자열을 분석하는데 도움이 되고, 혹여 코드형식의 문자열로 데이터를 받는 경우 요긴하게 사용되는 함수이다.

긴 문자열을 전송할 때 암호화하여 사용되기도 한다. 어디서 봤는데 기억이 가물가물하다.

vStr = ' 파이썬에서, 문자열의 시작과 끝의 공백제거하고, 문자열 변경을 하고, 문자열 분할 나누기를 합니다.'
print('원본 문자열 - ', vStr, type(vStr), len(vStr))

vSplit = vStr.split(',')
print('문자열 분할 나누기 - ', vSplit, type(vSplit), len(vSplit))

 

전체 코드 보기

위의 세분화된 코드를 하나로 합쳐서 실행해 보았다.

출력 함수인 print 구문을 보면 데이터 타입과 문자열의 길이까지 표시하였다.

이 2개의 함수는 문자열을 수시로 검사하는데 요긴하고 눈으로 잘 파악이 되지 않을 때 도움을 준다.

print('--------------------------------------------------')

vStr = ' 파이썬에서, 문자열의 시작과 끝의 공백제거하고, 문자열 변경을 하고, 문자열 분할 나누기를 합니다. '
print('원본 문자열 - ', vStr, type(vStr), len(vStr))

vStrip = vStr.strip()
print('시작, 끝의 공백제거 strip - ', vStrip, type(vStrip), len(vStrip))

vReplace = vStr.replace('파이썬', 'Python')
vReplace = vReplace.replace('공백제거', 'strip')
vReplace = vReplace.replace('변경', 'replace')
vReplace = vReplace.replace('분할', 'split')
print('문자열 변환 - ', vReplace, type(vReplace), len(vReplace))

vSplit = vStr.split(',')
print('문자열 분할 나누기 - ', vSplit, type(vSplit), len(vSplit))

print('--------------------------------------------------')

결과화면을 보면 느낌이 올 것이다.

결과화면의 문자열과 데이터타입, 문자열의 길이를 눈으로 보면 차이를 알 수 있다.

split()를 사용하여 문자열이 분할되면 리스트 형태의 배열이 되는 것에 주목하자.

물론 이것은 다른 언어들도 마찬가지다.

반응형

댓글