파이썬 스트링 MSDN정리

파이썬 제공 문자열


순서열이 제공하는 기능만으로도 대부분의 문자열 처리가 가능할 것 같다. 

하지만 파이썬은 여기에 그치지 않고 각 문자열을(뿐만 아니라 다른 세부 자료형들도) 사용하기 쉽게 설계를 해놓았다. 

다음 표는 문자열(str) 클래스에서 제공하는 메서드 목록이다. 자주 사용할 것으로 예상되는(기준 : 내맘) 같은 메서드는 굵게 표시를 해뒀다.


메서드

설명

str.capitalize()

첫 문자를 대문자로 변환

str.center(width[, fillchar])

>>> s = "center"
>>> s.center( 15 )
' center '

str.count(sub[, start[, end]])

sub가 문자열 안에 몇 개 들어 있는지 계수

str.encode([encoding[, errors]])

특정 인코딩으로 인코드함. 예를 들어 ASCII를 UNICODE로 변경하는 것이 가능함.

str.endswith(suffix[, start[, end]])

문자열이 suffix로 끝나는지의 여부를 반환

str.expandtabs([tabsize])

문자열 내의 탭을 tabsize길이의 스페이스로 변환한다.

str.find(sub[, start[, end]])

문자열 내에서 sub가 위치한 곳을 찾는다. 없으면 –을 반환한다.

str.format(format_string, *args, **kwargs)

프로그래머라면 이 기능부터 찾아봤을 것이다. 문자열 포맷을 수행한다.
>>> name = "My name is {0}" 
>>> name.format( "Sean" ) 
'My name is Sean'

str.index(sub[, start[, end]])

find와 같다. 찾는 문자열이 없으면 ValueError를 올리는 것만 빼고.

str.isalnum()

문자열이 알파벳과 숫자만으로 이루어져있는지 판단

str.isalpha()

문자열이 알파벳만으로 이루어져있는지 판단

str.isdecimal()

10진수인지 판단

str.isdigit()

숫자인지 판단

str.isidentifier()

식별자인지를 판단 
>>> 'id'.isidentifier() 
True

str.islower()

모든 글자가 소문자인지를 판단

str.isnumeric()

숫자인지를 판단

str.isprintable()

인쇄가능한지를 판단(인쇄 불가능한 문자가 포함되어 있으면 False를 반환)

str.isspace()

스페이스로만 되어있는지를 판단

str.istitle()

각 어절의 첫 글자가 대문자이고 뒤따라오는 문자들은 소문자인 Title 화되어 있는지 판단

예) 
>>> 'good morning.'.istitle() 
False 
>>> 'Good morning.'.istitle() 
False 
>>> 'Good Morning.'.istitle() 
True

str.isupper()

모든 글자가 대문자인지를 판단

str.join(seq)

>>> ','.join('abc') 
'a,b,c'

str.ljust(width[, fillchar])

>>> 'abc'.ljust(10) 
'abc '

str.lower()

모든 글자를 소문자로 변환

str.lstrip([chars])

>>> ' spacious '.lstrip() 
'spacious ' 
>>> 'www.example.com'.lstrip('cmowz.') 
'example.com'

str.maketrans(x[, y[, z]])

  

str.partition(sep)

>>> 'abcdefg-hjklmn'.partition('-') 
('abcdefg', '-', 'hjklmn')

str.replace(old, new[, count])

>>> '123456789'.replace('123', 'ABC') 
'ABC456789'

str.rfind(sub[, start[, end]])

찾는 문자열이 없으면 -1 반환 
>>> 'ABC456789'.rfind('67') 
5

str.rindex(sub[, start[, end]])

찾는 문자열이 없으면 ValueError 예외 발생 
>>> 'ABC456789'.rindex('67') 
5

str.rjust(width[, fillchar])

>>> 'abc'.rjust(10) 
' abc'

str.rpartition(sep)

>>> 'ABC-DEF-GHI'.rpartition('-') 
('ABC-DEF', '-', 'GHI')

str.rsplit([sep[, maxsplit]])

>>> 'ABC-DEF-GHI'.rsplit('-') 
['ABC', 'DEF', 'GHI']

str.rstrip([chars])

>>> ' 123 '.rstrip() 
' 123'

str.split([sep[, maxsplit]])

>>> 'ABC-DEF-GHI'.split('-') 
['ABC', 'DEF', 'GHI']

str.splitlines([keepends])

>>> 'ABC\nDEF\nGHI'.splitlines() 
['ABC', 'DEF', 'GHI']

str.startswith(prefix[, start[, end]])

>>> '123456'.startswith('456') 
False 
>>> '123456'.startswith('123') 
True

str.strip([chars])

>>> ' 123 '.strip() 
'123'

str.swapcase()

>>> 'My name is Sean.'.swapcase() 
'mY NAME IS sEAN.'

str.title()

>>> 'good morning.'.title() 
'Good Morning.'

str.translate(map)

  

str.upper()

>>> 'abc'.upper() 
'ABC'

str.zfill(width)

>>> '123'.zfill(10) 
'0000000123'


파이썬은 확실히 다른 언어보다 더 나은 편의를 제공한다. 

과연 공공연하게 '편리한 언어'라고 광고해도 괜찮아 보인다. 파이썬으로 문자열을 다루다가 C로 문자열을 다루려면 적응이 잘 안될 것 같다. 

다음에는 문자열의 형제들, 즉 다른 순서열들에 대해 알아볼 계획이다.


퍼옴: http://www.seanlab.net/entry/4231-%EB%AC%B8%EC%9E%90%EC%97%B4


이 글을 공유하기

댓글

Designed by JB FACTORY