문자열을 연산해서 사용하는 것은 중요할 수 있고 그렇지 않을 수도 있지만 많이 사용하는 부분이다. 특히 뜻하지 않은 공백을 제거하거나 특정 문자열을 변경하거나 혹은 특정 문자로 문자열을 분할하거나 나눌 수 있다. 이런 몇가지 기능을 보자 어렵지 않다. 이 부분은 다른 언어들도 다루는 부분이기도 하다.
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()를 사용하여 문자열이 분할되면 리스트 형태의 배열이 되는 것에 주목하자.
물론 이것은 다른 언어들도 마찬가지다.
'programming > Python' 카테고리의 다른 글
파이썬 이스케이프 특수문자 출력하기 (0) | 2021.07.30 |
---|---|
파이썬 문자열 결합 합치기 포맷 지정하기 문자열을 입맛대로 형식 지정하기 (0) | 2021.07.30 |
파이썬 대문자 소문자 변환하기 upper lower (0) | 2021.07.29 |
파이썬 문자열 자르기하고 추출하기 slicing 슬라이싱 (0) | 2021.07.29 |
파이썬 문자열 길이와 찾기 (0) | 2021.07.29 |
댓글