메뉴 건너뛰기

XEDITION

Study

[Python]열혈강의 Python Day5

짱가동생 2017.09.10 11:17 조회 수 : 2

문자열 메쏘드. 

>>>s = 'i like programming.'

>>>s.upper()    #대문자로 변환. 

>>>s.upper().lower()    #대문자를 소문자로 변환. 

>>>'I Like Programing.'.swapcase()    # 대문자와 소문자를 바꾼다. 

>>>s.capitalise()    # 첫문자를 대문자로 변환. 

>>>s.title()    # 단어 첫글짜를 대문자료 .. 

################################

검색에 관련된 메쏘드. 

>>>s = 'i like programming, i like swinming.'

>>>s.count('like')    # 문자열 S에서 'like'라는 문자열(Substring)이 발생한 횟수를 리턴한다. 

>>>s.find('like')    # 문자열 s 에서 'like'의 옵셋을 리턴한다. 검색에 해당한다. 

>>>s.find('like', 3)    # 문자열 3번 위치부터 검색한다. 

>>>s.find('my')    # 찾는 문자열이 없을 경우 -1 리턴. 

>>>s.rfind('like')    # find와 같지만 문자열 s의 뒤쪽부터 탐색한다. 

>>>s.index('like')    # find와 같지만, 찾는 문자열이 없을 경우 예외를 일으킨다. 

>>>s.index('my')

>>>s.rindex('like')    # index와 같지만 문자열 s의 뒤쪽부터 탐색한다. 

>>>s.strartswith('i like')    # i like 로 시작하는 문자열인가?   True / False 로 반환. 

>>>s.endswith('swimming.')    # swimming. 으로 끝나는 문자열인가? 

>>>s.startswith('progr', 7)    #7번째 문자열이 progr로 시작하는가? 

>>>s.endswith('like', 0, 26)    #  0부터 26번째 위치 사이의 문자열이 like로 끝나는가? 

################################

편집 및 치환과 관련된 메소드

>>>u = '    span and ham             '

>>>u.strip()    # 좌우 공백을 없애서 출력한다. . 

>>>u.rstrip()    # 오른쪽 공백을 없애서 출력한다.  

>>>u.lstrip()    # 왼쪽 공백을 없애서 출력한다. 

>>>'        abc     '.strip()

>>>'><><abc><><><><'.strip('<>')    # <>를 없애고 출력한다. 

>>><abc<><><>\n'.strip('<>')

>>>u'\u4000\u4000abc\u4000'.strip('\u4000')

>>>u.replace('spam', 'spam' ,'egg')    # 'spam'을 'spam, egg'로 바꾼다. 

##################################

 

문자열 분리와 결합에 자주 사용되는 메쏘드

>>>u = '  spam and ham    '

>>>u.split()    # 공백으로 분리. 

>>>u.split( 'and' )    # 'and'로 분리. 

>>>t = u.split()

>>>':'.joint(t)    # ':' 문자로 결합. 틀리기 쉽다. 주의할것. 

>>>print '\n'.joint(t)     # 줄 바꾸리고 결합. 

>>>lines = '''first line    # 3줄 문자열 

second line 

third line'''

>>>lines.splitlines()    # 라인 단위로 분리. 

여기서 ':'join(t)의 사용법을 종종 혼돈하는 경우가 있다. t는 리스트 이고, ':'는 리스트의 문자열들을 연결한 문자열이다. 

#################################

 

split은 두번째 인수로 최대 분리 개수를 지정할 수 있다. rsplit은 오른쪽부터 분리하는 것을 제외하면 split과 같다. 

>>>s = 'one:two:three:four'

>>>s.split(':', 2)    # 두번만 분리

>>>s.rsplit(':', 1)    # 2.4이상. 오른쪽부터 처리

############

정렬에 관련된 method. 

>>>u = 'spam and egg'

>>>u.center(60)    #전체 60 문자의 가운데에 맞춘다. 

>>>u.ljust(60)    # 왼쪽에 맞춘다. 

>>>u.rjust(60)    #오른쪽에 맞춘다. 

##############

center, ljust, rjust method 모두 채워질 문자를 선택할 수 있다. 

>>>u.center(60, '-')    # 공백 대신 '-'문자를 채운다. 

####################

expandtabs method : 탭 문자를 고백 문자로 변경한다. 

>>>'1\tand\t2'.expandtabs()    탭(\t)을 8자 공백으로 변경한다. 

>>>'1\tand\t2'.expandtabs(4)    탭을 4자 공백으로 변경. 

###################

숫자, 영문, 문자열인지 판별. 

>>>'1234',isdigit()    #숫자인가? 

>>>'abcd'.isalpha()    #영문자인가? 

>>>'1abc234'.isalnum()    # 숫자 혹은 영문자인가? 

>>>'abc'.islower()    #소문자인가? 

>>>'ABC'.isupper()    # 대문자 인가? 

>>>'This is A Title'.istitle()    #제목 문자열인가? 

###################

기타 나머지 자세한 설명은 올라인 라이브러리 레퍼런스 String Methods를 참조.. 

 

채우기 및 자리 맞추기 문자열 함수는 다음과 같다. 

>>>s = '123'

>>>s.zfill(5)     # 2.3 이상

>>>'goofy'.zfille(6)    # 빈자리는 0으로 채워진다. 

###########################

 

 

위로