반응형

안녕하세요.

 

제가 파이썬을 사용하면서 느꼈던 가장 큰 장점 중 하나는 문자열을 다루기 쉽다는 것 입니다.

 

제가 주로 사용하는 언어가 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']

>>>  

 

반응형
Posted by 해리팍
BLOG main image

Chanhyun Park (해리팍)
Software Engineer @ SK hynix

Contact Info.
parkch0708@hanmail.net
chanhyun0708@gmail.com
chanhyun.park@sk.com

카테고리

All (1501)
Profile (2)
Park's Life (599)
Computer System (165)
Computer Programming (39)
Computer Study (54)
Computer Etc. (189)
Scuba Diving (137)
Golf (8)
Traveling (245)
생활 정보 (12)
Pokemon GO (50)