본문 바로가기
파이썬

해커맨 파이썬 강의 10강_ 다양한 문자열 함수들

by 비원(Be one) 2019. 10. 21.
반응형

이번 강에서는 문자열을 처리할 때 자주 사용되는 함수들을 알아보겠습니다.

 


1. 대소문자 바꾸기

영어로 이루어진 문자열을 처리하다 보면 대문자를 소문자로, 소문자를 대문자로 바꿔야 연산이 수월해지는 경우가 있습니다.

 

예를 들어 영어단어를 정렬한다고 했을 때

HACKER, Fine, apple

가 있으면 대소문자의 구별 없이 apple, Fine, HACKER 순으로 정렬되어야 합니다.

 

이럴 때 주어진 단어들을 모두 소문자나 대문자로 치환하면 정렬하기 편해집니다.

 

대소문자로 치환해주는 함수는 upper() 함수와 lower() 함수입니다.

upper() 함수는 문자열 전체를 대문자로, lower() 함수는 문자열 전체를 소문자로 치환해주는 역할을 합니다.

upper() 함수, lower() 함수 사용법

a.uppper()
a.lower()
(a는 문자열이 들어간 변수)

upper( ) 함수 예시
lower() 함수 예시

 

이렇게 upper() 함수와 lower() 함수를 이용해서 문자열의 대소문자를 치환할 수 있습니다.

 

2. 문자열의 공백 제거하기

사용자가 입력하는 문자열 중에서 공백이 있는 문자열이 있을 수 있습니다.

[ 안녕하세요. ] 같이 문자열 양 옆에 공백이 있을 수 있고,

[안녕하세요. ], [ 안녕하세요.]처럼 좌우에 공백이 있을 수 있습니다.

 

이처럼 공백이 있는 문자열을 다룰 때는 공백을 어떻게 처리할 건지도 상당히 중요한 문제입니다.

공백을 지우고 문자열을 다루고 싶다면 strip() 함수로 공백을 지울 수 있습니다.

strip() 함수 사용법

a.strip()
(a는 문자열이 들어간 변수)

 

strip() 함수 예시

이렇게 strip() 함수를 사용하면 문자열 양옆의 공백을 지울 수 있습니다.

 

참고로 왼쪽 공백은 lstrip() 함수, 오른쪽 공백은 rstrip() 함수로 지울 수 있지만, 대부분 strip() 함수를 더 많이 사용하므로 이건 참고만 해두시면 됩니다.

 

 

3. 특정 문자열 찾기

한 문자열에 특정한 문자열이 있는지 찾아보기 위해서는 find() 함수를 사용합니다.

find() 함수 사용법

a="검색당하는 문자열".find("찾을 문자열")

 

결과값은 찾을 문자열이 있는 위치를 출력합니다. 또한 찾는 문자열이 없으면 -1을 반환합니다.

 

H e l l o ,   I   a m   H a c k e r m a
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

표를 보시면 [Hacker]의 시작 부분인 H가 12번째에 위치해 있으므로 결과값이 12로 출력됩니다.

(문자열의 시작 위치는 0 임을 기억해야 합니다.)

 

이와 비슷함 함수는 rfind() 함수로 이 함수는 특정 문자열을 오른쪽부터 검색합니다.

 

rfind() 함수 예시

예시에 안녕이 2번 나와있습니다.

rfind() 함수를 사용했기에 문자열 오른쪽부터 검색을 하고, 오른쪽의 안녕을 먼저 검색해서 결과값이 3이 나오게 됩니다.

 

 

3. 문자열 자르기

긴 문자열을 특정한 기준을 가지고 자를 때는 split() 함수를 사용합니다.

split() 함수 사용법

a="자를 문자열".split("기준")

 

split() 함수 예시

예시를 보시면 split() 함수를 사용해서 공백을 기준으로 문자열을 나누었습니다.

출력 값은 리스트의 형태로 나타나게 됩니다.

 

 

4. 문자열의 구성 파악

문자열이 숫자, 영어 등으로 이루어져 있는지를 판별하기 위해서는 아래의 함수들을 사용합니다.

- isalnum() : 문자열이 알파벳이나 숫자로만 구성되어 있는지 파악
- isalpha() : 문자열이 알파벳으로만 구성되어 있는지 파악
- isidentifier() : 문자열이 식별자로 사용할 수 있는지 파악
- isdecimal() : 문자열이 정수 형태인지 파악
- isdigit() : 문자열이 숫자로 인식되는지 파악
- isspace() : 문자열이 공백으로만 구성되어 있는지 파악
- islower() : 문자열이 소문자로만 구성되어 있는지 파악
- isupper() : 문자열이 대문자로만 구성되어 있는지 파악

 

사용법은 ["문자열".isalnum()] 이렇게 사용되며, 결과값은 True, False입니다.

 

한번 여러분들이 다양한 문자열을 예시로 사용해보시기 바랍니다.

 


정리
- 문자열을 대소문자로 치환해주는 함수 : upper(), lower()
- 문자열의 공백을 제거하는 함수 : strip()
- 특정 문자열을 찾는 함수 : find()
- 문자열을 자르는 함수 : split()
- 문자열의 구성을 확인하는 함수 : is~~()  (강의 내용 참고)

 

강의가 유익하셨거나 마음에 드셨으면 구독과 좋아요, 댓글 부탁드립니다.

궁금하신 점이나 질문은 댓글 남겨주시기 바랍니다.

 

 

반응형