반짝이는 오렌지

[Python] 기초 문법 : 문자열 처리 함수 본문

Python/Python 기초

[Python] 기초 문법 : 문자열 처리 함수

twinkle orange 2022. 3. 19. 16:44
728x90
반응형

Python의 자료형은 문자형, 숫자형, bool형으로 구분된다.

문자형 자료는 여러 문자( '123', 'a', 'ㄱ')가 모여있는 집합을 의미한다.

이 문자열을 다양한 방식으로 처리 할 수 있다.

이번 게시글에서는 아래 함수들을 이용하여 문자형 자료를 처리하는 방법을 설명하겠다.

  • upper(), lower() : 대문자 및 소문자 변환
  • lstrip(), rstrip(), strip() : 공백 제거(왼쪽, 오른쪽, 양쪽)
  • replace() : 다른 문자형으로 대체 
  • split() : 문자열 합치기
  • count() : 특정 문자형 개수 세기
  • len() : 문자열 길이 반환
  • find() : 특정 문자형 위치 정보 반환

 

  • upper() : 대문자로 변환
a = 'apple'
a.upper()
# 'APPLE'

 

  • lower() : 소문자로 변환

 

a = 'APPLE'
a.lower()
# 'apple'
    •  lstrip() : 왼쪽(left)의 공백만 제거
a = ' apple '
a.lstrip()
#'apple '

a 변수에 양 쪽끝에 공백이 있는 문자열 이 있다면, 왼쪽에 있는 공백만 제거 한다.

  • rstrip() : 오른쪽(right)의 공백만 제거
a = ' apple '
a.rstrip()
# ' apple'
  • strip() : 양쪽 공백 모두 제거
a = ' apple '
a.strip()
# 'apple'

strip() 함수의 경우 양쪽 공백 모두 삭제한다. 하지만, 문자열 중간에 공백이 있다면 문자열 중간에 있는 공백은 제거하지 못한다.

a = ' app le '
a.strip()
#'app le'

가운데 공백도 모두 제거 하고 싶다면 replace() 함수를 활용하여 ' '(스페이스)를 ''(내용없는 문자열)로 변경하면 된다.

  • replace() : 문자열을 다른 문자열로 변경
    • replace(기존 문자열, 변경될 문자열)
a = ' app le '
a.replace(' ','')
# 'apple'
a = 'a_b_c_d'
a.replace('_', '-')
# 'a-b-c-d'
  • split() : 문자열 나누기
    • split('기준 문자열')
a = 'a_b_c_d'
a.split('_')
# ['a','b','c','d'] # list 구조로 반환

'a_b_c_d'를  '_' 기준으로 나누면 'a' , 'b', 'c', 'd' 네 개의 문자열이 생성된다. 그리고 이때 [ ] (대괄호) 안에 문자열이 나열되어 있다. [ ] (대괄호) 안에 데이터가 나열된 형태는 python의 내장 자료구조 중 하나의 형태로 list 자료 구조이다.

추후 Python의 내장 자료구조 4가지에 대해서 배워보자. 

 

  • join: 여러 자료를 하나로 합침
    • '기준 문자열'.join(합칠 문자열)

여러 자료를 하나로 합치기 위해서 우선 a 변수에 list 구조로 여러 문자열을 만들어 할당한다.

a = ['ㄱ','ㄴ','ㄷ','ㄹ']
a
#  ['ㄱ','ㄴ','ㄷ','ㄹ']
''.join(a)
#'ㄱㄴㄷㄹ'

join() 함수의 경우 a.join() 이 아니라 '문자열'.join(a) 형태로 입력해야 한다.

  • count() : 특정 문자열 개수 반환
    • 변수.count('특정문자')
a = 'apple'
a.count('p')
# 2

'apple' 문자열에 'p'문자열이 2개 있다.

  • len() : 문자열 길이 반환
a = 'apple'
len(a)
# 5

'apple'의 문자열 길이는 5이다.

 

  • find() : 특정 문자열의 위치정보(index) 번호 반환
a = 'Python' 
a.find('y')
# 1
파이썬은 index 번호가 0부터 시작하기 때문에 'y'의 위치(index) 번호는 2가 아닌 1이다. 
a.find('a')
# -1

만약 찾는 문자나 문자열이 존재하지 않는다면 -1을 반환한다.

index() 함수도 특정 문자열의 index 정보를 반환한다.

a = 'Python'
a.index('y')
# 1
a.index('a')

index() 의 경우 찾는 문자나 문자열이 존재하지 않는다면 오류를 발생시킨다. 앞의 find 함수와 다른 점은 문자열 안에 존재하지 않는 문자를 찾으면 오류가 발생한다는 점이다.

반응형