안녕하세요.
제가 파이썬을 사용하면서 느꼈던 가장 큰 장점 중 하나는 문자열을 다루기 쉽다는 것 입니다.
제가 주로 사용하는 언어가 C인데...
C와 비교하였을때 문자열을 다루기가 너무 쉬웠습니다.
이번 포스팅에서는 파이썬에서 사용할 수 있는 문자열 메소드들을 알아보겠습니다.
본 포스팅은 추가 할 내용이 있으면 수시로 업데이트 하겠습니다.
0. 문자열 메소드 사용 방법
기본적으로 문자열.메소드() 의 형태로 사용하게 됩니다.
문자열 변수를 활용할 수도 있고, 문자열에 직접 사용하셔도 됩니다.
ex 1) 문자열 변수 사용
>>> s = 'hello World'
>>> s.upper()
ex 2) 문자열에 직접 사용
>>> 'hello World'.upper()
위와 같은 방식으로 사용하시면 됩니다.
그리고 문자열은 대, 소문자를 구분합니다.
그럼 파이썬의 문자열 관련 메소드들을 알아보도록 하겠습니다.
1. 문자열 대, 소문자 치환
(1) upper() - 문자열의 모든 문자를 대문자로 치환
(2) lower() - 문자열의 모든 문자를 소문자로 치환
(3) capitalize() - 문자열의 첫 문자는 대문자로, 나머지 문자들은 소문자로 치환
>>> string = 'hello World'
>>> string.upper()
'HELLO WORLD'
>>> string.lower()
'hello world'
>>> string.capitalize()
'Hello world'
>>>
2. 문자열에서 부분 문자열 검색 관련
(1) count(str, start, end) - 문자열 내부에 부분 문자열 str의 개수 검색
start와 end에는 검색을 윈하는 첫 인덱스, 마지막 인덱스를 지정.
지정하지 않을 경우, start의 default 값은 0, end의 default의 값은 제일 마지막 인덱스.
>>> string = 'hi hi hi'
>>> string.count('hi')
3
>>> string.count('HI')
0
>>> string.count('hi', 2)
2
>>>
(2) find(str, start, end) / rfind(str, start, end) - 부분 문자열 str의 최초 위치 (첫 글자의 인덱스)를 반환
find는 왼쪽부터, rfind는 오른쪽부터 검색.
없을 경우 -1 반환.
start와 end에는 검색을 윈하는 첫 인덱스, 마지막 인덱스를 지정.
지정하지 않을 경우, start의 default 값은 0, end의 default의 값은 제일 마지막 인덱스.
>>> string = 'hi hi hi'
>>> string.find('hi')
0
>>> string.rfind('hi')
6
>>> string.find('HI')
-1
>>> string.find('hi', 1)
3
>>> string.rfind('hi', 1, 5)
3
>>>
(3) index(str, start, end) - 부분 문자열 str의 최초 위치 (첫 글자의 인덱스)를 반환 (왼쪽 부터 검색)
없을 경우 Value Error 반환
start와 end에는 검색을 윈하는 첫 인덱스, 마지막 인덱스를 지정.
지정하지 않을 경우, start의 default 값은 0, end의 default의 값은 제일 마지막 인덱스.
>>> string = 'hi hi hi' >>> string.index('hi') 0 >>> string.index('hi', 1) 3 >>> string.index('HI')
Traceback (most recent call last): File "<pyshell#44>", line 1, in <module> string.index('HI') ValueError: substring not found >>> |
3. 문자열 편집 관련
(1) strip() / lstrip() / rstrip() - 양쪽 / 왼쪽 / 오른쪽의 공백 (스페이스, tab), 줄 바꿈 문자 등을 치환
>>> string = ' hi hi hi\t\n'
>>> string.strip()
'hi hi hi'
>>> string.lstrip()
'hi hi hi\t\n'
>>> string.rstrip()
' hi hi hi'
>>>
(2) replace(a, b) - 부분 문자열 a를 문자열 b로 치환
>>> string = 'hello world'
>>> string.replace('hello', 'hi')
'hi world'
>>>
(3) expandtabs() - 문자열 내부의 tab을 공백 (스페이스)로 치환
>>> string = '\thi\thello\tworld'
>>> string
'\thi\thello\tworld'
>>> string.expandtabs()
' hi hello world'
>>>
4. 문자열 분할
(1) split() - 문자열을 공백 (스페이스, tab, 줄바꿈) 기준으로 분할하여 리스트로 반환
>>> string = 'hi hello\tworld\ngood'
>>> string.split()
['hi', 'hello', 'world', 'good']
>>>
(2) split('str') - 문자열을 부분 문자열 str 기준으로 분할하여 리스트로 반환
>>> string = 'hi;hello;world'
>>> string.split(';')
['hi', 'hello', 'world']
>>>
'Computer Programming > Python' 카테고리의 다른 글
[Python] 파이썬 requests 모듈을 이용한 웹 페이지 소스 받아오기 (0) | 2016.06.22 |
---|---|
[Python] PyCharm (파이참) 한글 인코딩 관련 에러 해결법 (0) | 2016.06.21 |
[Python] 파이썬 개발 툴 PyCharm (파이참) 다운로드, 설치 방법 - 윈도우, 우분투(리눅스) (학생 무료 사용) (0) | 2016.06.20 |
[Python] 파이썬 유니코드 관련 참고 사이트 (0) | 2016.01.07 |
[Python] 문자열에서 반복되는 문자열 및 횟수 출력 (질문에 대한 답변) (4) | 2015.11.20 |