기본으로 지원하는 문자 Method
파이썬은 아래의 표에 해당하는 메서드를 가지고 있다.
메소드 | 기능 설명 |
---|---|
capitalize() | 문자열의 첫 글자를 대문자로 하는 사본을 반환 |
center (width[,fill]) | 지정된 넓이와 선택사항인 채움 문자로 위치가 재조정된 문자열 |
count(sub[,start[,end]]) | 문자열 내에서 부분문자열이 발생하는 횟수를 셈 |
decode([encoding[,errors]]) | 디코드하여 유니코드 문자열을 반환 |
encode([encoding[,errors]]) | 인코드된 버전의 문자열을 반환 |
endswith(suffix[,start[,end]]) | 문자열이 주어진 형태로 끝나는지의 여부를 반환 |
expandtabs([tabsize]) | 탭을 빈 칸 문자열로 바꿈 |
find(sub[,start[,end]]) | 주어진 문자열 조각이 처음 나타나는 곳의 인덱스를 반환 |
index(sub[,start[,end]) | 주어진 문자열 조각이 처음으로 나타나는 인덱스를 반환. 문자열 조각을 찾지 못하면 ValueError를 일으킴. |
isalnum() | 문자열이 영문자와 숫자로만 이루어졌는지의 여부를 반환 |
isalpha() | 문자열이 영문자로만 이루어졌는지의 여부를 반환 |
isdigit() | 문자열이 숫자로만 이루어졌는지의 여부를 반환 |
islower() | 문자열이 소문자로만 이루어졌는지의 여부를 반환 |
isspace() | 문자열이 공백으로만 이루어졌는지의 여부를 반환 |
istitle() | 문자열의 각 단어마다 첫글자가 대문자로 되어있는지의 여부를 반환 |
isupper() | 문자열 내의 모든 글자가 대문자인지의 여부를 반환 |
join(sequence) | 원본 문자열이 각 원소 사이에 배치되도록 이어붙인 순서형의 사본 문자열을 반환 |
ljust(width[,fillchar]) | 원본 문자열의 가장 왼쪽부분을 정해진 폭에 맞춘 문자열을 반환(빈 자리를 fillchar로 채우도록 선택 가능) |
lower() | 원본 문자열의 모든 글자를 소문자로 바꾼 사본을 반환 |
lstrip([chars]) | 주어진 글자들을 문자열의 왼쪽에서부터 찾아서 처음으 로 일치하는 글자들을 제거. 또한 왼쪽 공백을 제거. 인수를 지정하지 않았을 때는 공백 제거를 기본값으로 함. |
partition(separator) | 주어진 분리기호(separator)를 사용하여 왼쪽으로부터 분할한 문자열을 반환 |
replace(old,new[,count]) | 원본 문자열에서 old로 주어진 부분을 new로 주어진 부분으로 치환한 사본을 반환 |
rfind(sub[,start[,end]]) | 문자열을 오른쪽으로부터 왼쪽으로 검색하여 주어진 문자열이 처음으로 나타나는 것을 찾아 sub를 찾은 곳의 가장 높은 자리수를 반환 |
rindex(sub[,start[,end]]) | 문자열을 오른쪽으로부터 왼쪽으로 검색하여 주어진 문자열이 처음으로 나타나는 것을 찾아 sub를 찾은 곳의 가장 높은 자리수를 반환하거나 예외를 제기 |
rjust(width[,fillchar]) | width에 맞추어 오른쪽으로 정렬된 문자열 사본을 반환 |
rpartition(separator) | 주어진 구분자 개체를 사용하여 오른쪽으로부터 시작하여 분할한 문자열 사본을 반환 |
rsplit([separator[,maxsplit]]) | 문자열로 된 단어의 목록을 반환하며 문자열을 오른쪽으로부터 쪼개며 주어진 분리 기호(separator)를 구분자로 사용함. 최대분할(maxsplit)이 지정된 경우 (오른쪽으로부터) 최대 maxsplit이 이루어짐 |
rstrip([chars]) | 주어진 문자들과 일치하는 것을 오른쪽으로부터 찾아서 처음 찾은 문자들을 제거한 문자열 사본을 반환. 또한 인수를 지정하지 않은 경우에는 오른쪽으로부터 공백을 제거. |
split([separator[,maxsplit]]) | 문자열 내의 단어 목록을 반환하며 주어진 분리자를 구 분자로 하여 문자열을 왼쪽에서부터 쪼갠다. |
splitlines([keepends]) | 문자열을 행 목록으로 분할. 줄 바꿈 기호를 제거하는 경우 keepends가 나타남. 문자열에서 행 목록을 반환. |
startswith(prefix[,start[,end]]) | 문자열이 주어진 prefix로부터 시작하는지의 여부를 반 환 |
strip([chars]) | 문자열에서 주어진 문자들을 제거한 문자열 사본을 반 환. 인수를 지정하지 않으면 공백이 제거됨. |
swapcase() | 각 문자의 대소문자가 뒤바뀐 문자열 사본을 반환. |
title() | 각 단어의 첫 글자를 대문자로 하는 문자열의 사본을 반 환. |
upper() | 문자열의 모든 글자를 대분자로 변환한 문자열 사본을 반환 |
zfill(width) | 주어진 폭에 맞추어 왼쪽에 0을 채운 숫자 문자열을 반 환. |
예제코드
>>> our_string='python is the best language ever'
# 문자열의 첫 글자를 대문자로
>>> our_string.capitalize()
'Python is the best language ever'
# 가운데 정렬
>>> our_string.center(50)
' python is the best language ever '
>>> our_string.center(50,'-')
'---------python is the best language ever---------'
# 문자열 내에서 부분문자열 세기
>>> our_string.count('a')
2
# 부분문자열 발생 횟수 세기
>>> state = 'Mississippi'
>>> state.count('ss')
2
# 문자열을 분할(partition)하면, 분리자의 앞 부분, 분리자, 그리고 그 분리자의
# 뒷 부분의 세 원소로 이루어진 튜플을 반환
>>> x = "Hello, my name is Josh"
>>> x.partition('n')
('Hello, my ', 'n', 'ame is Josh')
# 위와 똑같은 x가 있다고 할 때, 'l'을 분리자로 하여 문자열을 쪼개기(split)
>>> x.split('l')
['He', '', 'o, my name is Josh']
# 보는 바와 같이 분리자는 반환되는 목록에 포함되지 않는다.
# maxsplits 값을 1로 하여 추가하게 되면, 가장 왼쪽부터 쪼개기가 이루어진다.
# maxsplits 값을 2로 주면, 가장 왼쪽 두 개의 쪼개기가 이루어진다.
>>> x.split('l',1)
['He', 'lo, my name is Josh']
>>> x.split('l',2)
['He', '', 'o, my name is Josh']
Comments:
# expandtabs이 적용 안되는 증상
# IDLE에서는 tab키로 쳐도 space로 바뀜
# 이스케이프 문자를 사용해야 함
str = "hello\tworld"
print(str.expandtabs(8))
print(str.expandtabs(16))
print(str.expandtabs(32))
# 출력
hello world
hello world
hello world