Python 프로그래밍 > Python - 내장함수 (문자열 관련)
등록일 : 2017-08-04 17:13
조회수 : 94,302
내장함수는 Python 이 기본적으로 가지고 있는 함수 입니다.
외부 모듈의 import 없이 사용이 가능합니다.
이번 장에서는 문자열관련 내장함수를 정리할 계획입니다.
1. len()
- 문자열의 길이를 구합니다.
>>> s = "abcdefg"
>>> len(s) // 전체 문자열 길이
결과 : 7
2. count()
- 문자열중 특정문자의 갯수를 구합니다.
>>> s = "abcdefg"
>>> s.count('a') // 문자열 중 'a'의 갯수
결과 : 1
3.split()
- 문자열을 특정문자를 기준으로 나눈다.
- 나누어진 문자열은 리스트 자료형으로 반환된다.
>>> str = "test1, test2, test3, test4"
>>> str.split(',')
결과 : ['test1', ' test2', ' test3', ' test4']
4. find(), index()
- 특정문자의 위치를 알려준다.
- index() 는 찾는 문자가 없을 경우 error 를 반환한다.
>>> str = "Python is fun for me."
>>> str.find('i') // 찾는 문자열이 없으면 (-1) 반환한다.
7
>>> str.index('i') // 찾는 문자열이 없으면 에러를 반환한다.
7
5. join()
- split() 와 반대되는 기능으로 문자열을 결합한다.
- string.join(list)형태로 결합한다.
>>> list = ['test','test1','test2','test3']
>>> ",".join(list)
'test,test1,test2,test3'
6. replace()
- 문자열에서 특정 문제를 특정 문자로 바꾼다.
python_define = 'Python is a widely used high-level, general-purpose, interpreted, dynamic programming language.'
# 문자열에서 ,를 and로 모두 바꾸는 경우
>>> python_define.replace(',', ' and')
'Python is a widely used high-level and general-purpose and interpreted and dynamic programming language.'
# 문자열에서 ,를 and로 2번만 바꾸는 경우
>>> python_define.replace(',', ' and',2)
'Python is a widely used high-level and general-purpose and interpreted, dynamic programming language.'
7. startswith() / endswith()
- 시작되는 단어, 끝나는 단어 여부를 확인할 수 있다. (True / False) 반환한다.
>>> python_define = 'Python is a widely used high-level, general-purpose, interpreted, dynamic programming language.'
>>> python_define.startswith('Python')
True
>>> python_define.endswith('language.')
True
8. 문자열 인덱싱 또는 추출방법
- 문자열에서 한문자를 얻기 위해서 문자열 이름뒤에 대괄호([ ])로, 배열같이 offset을 지정합니다.
- 첫번째는 [0] 이며, 마지막은 [-1]이며, [-2], [-3] 순서로 진행됩니다.
>>> str = 'abcdefghijklmnopqrstuvwxyz'
>>> str[0]
'a'
>>> str[1]
'b'
>>> str[-1]
'z'
>>> str[-2]
'y'
9. 문자열 슬라이스
문자열 슬라이스는 [start:end:step] 으로 표현할 수 있습니다.
[:] : 처음부터 끝까지 전체 문자열을 추출합니다.
[start:] : start 부터 끝까지 추출합니다.
[:end] : 처음부터 end-1까지 추출합니다.
[start:end] : start부터 end-1까지 추출합니다.
[start:end:step] : step만끔 점프하면서 start에서 end-1까지 추출합니다.
>>> alphabet = 'abcdefghijklmnopqrstuvwxyz'
>>> alphabet[:]
'abcdefghijklmnopqrstuvwxyz'
>>> alphabet[20:]
'uvwxyz'
>>> alphabet[:10]
'abcdefghij'
>>> alphabet[12:15]
'mno'
>>> alphabet[-4:]
'wxyz'
>>> alphabet[18:-3]
'stuvw'
>>> alphabet[::7]
'ahov'
>>> alphabet[4:20:3]
'ehknqt'
>>> alphabet[19::4]
'tx'
>>> alphabet[:21:5]
'afkpu'
>>> alphabet[::-1]
'zyxwvutsrqponmlkjihgfedcba'