파이썬에서 문자열에 대한 정리이다.
이 메서드 모음은 str 클래스에 있는 것을 기준으로 정리하였다.
- capitalize
- count
- find
- index
- isalnum
- isalpha
- isdecimal
- isdigit
- islower
- isspace
- isupper
- join
- lower
- upper
- lstrip
- rstrip
- swapcase
- split
- title
- zfill
- replace
- capitalize()
첫 문자가 대문자이고 나머지가 소문자인 문자열의 복사본을 리턴한다.
# 첫문자가 대문자이고 나머지가 소문자인 문자열의 복사본을 리턴한다.
a = 'PYTHON'
print( a.capitalize() )
>>> Python
|
- count(x, start, end)
- x - 개수를 찾을 문자열 또는 문자입니다.
- str (선택 사항) - 검색이 시작되는 문자열 내에서 시작 색인.
- end (선택 사항) - 검색이 끝나는 문자열 내에서 끝 인덱스.
# 문자 및 문자열 개수 세기
# 중복되지 않는 개수를 센다.
# str.count(찾을 문자열 및 문자, 시작위치, 끝위치)
# str.count(찾을 문자열 및 문자)
a = 'pythonpp'
print(a.count('p'))
>>> 3
a = 'pythonpy'
print(a.count('py',0,5))
>>> 1
|
- find(sub, start, end)
문자열 내에서 하위 문자열의 인덱스를 반환 합니다.
문자 나 문자열이 없을시 -1 을 반환 합니다.
- sub - 검색 할 하위 문자열 입니다.
- start (선택 사항) - 검색이 시작되는 문자열 내에서 시작 색인.
- end(선택 사항) - 검색이 끝나는 문자열 내에서 끝 인덱스.
# 문자 및 문자열 위치 찾기
# string.find(찾을 문자열 및 문자, 시작위치, 끝위치)
# string.find(찾을 문자열 및 문자)
a = 'pythonpy'
print(a.find('y'))
# >>> 1
print(a.find('py',0,5))
# >>> 0
print(a.find('tk'))
# >>> -1
|
- index(sub, start, end)
문자열 내에서 하위 문자열의 인덱스를 반환 합니다.
문자 나 문자열이 없을시 오류가 발생합니다.
- sub - 검색 할 하위 문자열 입니다.
- start (선택 사항) - 검색이 시작되는 문자열 내에서 시작 색인.
- end(선택 사항) - 검색이 끝나는 문자열 내에서 끝 인덱스.
# 문자 및 문자열 위치 찾기
# string.index(찾을 문자열 및 문자, 시작위치, 끝위치)
# string.index(찾을 문자열 및 문자)
a = 'pythonpy'
print(a.index('y'))
# >>> 1
print(a.index('py',0,5))
# >>> 0
print(a.index('tk'))
# >>> 오류 발생
|
- isalnum()
문자열의 모든 문자가 숫자 또는 알파벳 또는 한글 이면 True 를 반환
아니면 False 를 반환
a = 'python'
print( a.isalnum() )
# >>> True
a = 'python홍길동'
print( a.isalnum() )
# >>> True
a = 'python%%'
print( a.isalnum() )
# >>> False
|
- isalpha()
문자열의 모든 문자가 알파벳이면 True 반환
아니면 False 반환
그러나 테스트 시 한글이 들어가도 True 반환
알파벳과 한글이 나뉘어 있을시에는 False 반환
python | True |
python홍길동 | True |
python 홍길동 | False |
python%% | False |
a = 'python'
print( a.isalpha() )
# >>> True
a = 'python홍길동'
print( a.isalpha() )
# >>> True
a = 'python 홍길동'
print( a.isalpha() )
# >>> False
a = 'python%%'
print( a.isalpha() )
# >>> False
|
- isdecimal()
문자열의 모든 문자가 10진수이면 True 반환
아니면 False 반환
a = '123'
print( a.isdecimal() )
# >>> True
a = '123 ##'
print( a.isdecimal() )
# >>> False
a = '123 홍길동'
print( a.isdecimal() )
# >>> False
a = 'python 123'
print( a.isdecimal() )
# >>> False
|
- isdigit()
문자열의 모든 문자가 숫자인 경우 True 반환
아니면 False 반환
a = '123'
print( a.isdigit() )
# >>> True
a = '123 ##'
print( a.isdigit() )
# >>> False
a = '123 홍길동'
print( a.isdigit() )
# >>> False
a = 'python 123'
print( a.isdigit() )
# >>> False
|
- islower()
문자열의 모든 알파벳이 소문자 이면 True 반환
문자열에 대문자 하나 이상 있으면 False 반환
a = 'python'
print( a.islower() )
# >>> True
a = '123 ##'
print( a.islower() )
# >>> False
a = '123 홍길동 pp'
print( a.islower() )
# >>> True
a = '123 홍길동'
print( a.islower() )
# >>> False
a = 'Python 123'
print( a.islower() )
# >>> False
|
- isspace()
간격에 사용되는 문자를 공백 문자라고합니다. [예 : 탭, 공백, 줄 바꿈 등]
문자열에 공백 문자열만 있을경우 True 를 반환
아니면 False 반환
a = ' \t'
print(a.isspace())
a = ' a '
print(a.isspace())
a = ''
print(a.isspace())
|
- isupper()
문자열의 모든 알파벳이 대문자 이면 True 반환
문자열에 소문자 하나 이상 있으면 False 반환
a = 'PYTHON'
print( a.isupper() )
# >>> True
a = 'PYTHON홍길동'
print( a.isupper() )
# >>> True
a = 'PYTHON 홍길동'
print( a.isupper() )
# >>> True
a = 'python%%'
print( a.isupper() )
# >>> False
|
- join(iterable)
join 은 반복 가능한 객체에 사이사이에 문자열을 연결하게 해준다.
- iterable : 리스트 ,튜플, 리스트, 문자열 등
# 리스트 join
numList = ['1', '2', '3', '4']
separator = ','
print(separator.join(numList))
# >>> 1,2,3,4
# 튜플 join
numTuple = ('1', '2', '3', '4')
print(separator.join(numTuple))
# >>> 1,2,3,4
s1 = 'abc'
s2 = '123'
# '1'+ 'abc'+ '2'+ 'abc'+ '3'
print(s1.join(s2))
# >>> 1abc2abc3
# 'a'+ '123'+ 'b'+ '123'+ 'b'
print(s2.join(s1))
# >>> a123b123c
# sets join
test = {'2', '1', '3'}
s = ','
print(s.join(test))
# >>> 3,2,1
test = {'Python', 'Java', 'Ruby'}
s = '->->'
print(s.join(test))
# >>> Java->->Ruby->->Python
test = {'mat': 1, 'that': 2}
s = '->'
print(s.join(test))
# >>> mat->that
# join 시 키가 문자열이 아닐경우 error
test = {1: 'mat', 2: 'that'}
s = ','
print(s.join(test))
# >>> error
|
- lower()
문자열의 모든 대문자를 소문자로 변환합니다.
string = "HI PYTHON"
print(string.lower())
>>> hi python
string = "TH!S !IS A0PPLE!"
print(string.lower())
>>> th!s !is a0pple!
|
- upper()
문자열의 모든 소문자를 대문자로 변환합니다.
string = "hi python"
print(string.upper())
# >>> HI PYTHON
string = "th!s !is a0pple!"
print(string.upper())
# >>> TH!S !IS A0PPLE!
|
- lstrip()
문자열 중에 가장 왼쪽에 연속된 공백들을 지운다.
random_string = ' this is good '
print(random_string.lstrip())
# >>> this is good
|
- rstrip()
문자열 중에 가장 오른쪽에 연속된 공백들을 지운다.
random_string = 'this is good '
print(random_string.rstrip())
# >>> this is good
|
- swapcase()
문자열의 모든 대문자는 소문자로 변환
문자열의 모든 소문자는 대문자로 변환
string = 'THIS IS GOOD'
print( string.swapcase() )
# >>> this is good
string = 'this is good'
print( string.swapcase() )
# >>> THIS IS GOOD
string = 'tHiS iS GOoD'
print( string.swapcase() )
# >>> ThIs Is goOd
|
- split(sep)
문자열의 구분자를 중심으로 문자를 나눈다.
- sep - 나누고 싶은 구분자 값 ( , | & 등등)
text= 'i love milk'
# 아무것도 없을시 공백으로
print(text.split())
# >>> ['i', 'love', 'milk']
grocery = 'Milk, Chicken, Bread'
# ',' 구분자
print(grocery.split(', '))
# >>> ['Milk', 'Chicken', 'Bread']
# ':' 구분자
print(grocery.split(':'))
# >>> ['Milk, Chicken, Bread']
|
- title()
각 단어의 첫 글자를 대문자로 반환한다.
a = 'this is good'
print(a.title())
# >>> This Is Good
|
- zfill(width)
왼쪽에 0문자가 채워진 문자열을 반환한다.
width 길이가 문자열의 길이보다 작으면 문자열 그대로 반환한다.
- width - 문자열의 길이
text = "program is fun"
print(text.zfill(15))
# >>> 0program is fun
print(text.zfill(20))
# >>> 000000program is fun
print(text.zfill(10))
# >>> program is fun
|
- replace(old, new, count)
부분 문자열을 다른 새 문자열로 교체한다.
- old - 교체당할 기존 문자열
- new - 교체할 새로운 문자열
- count(선택사항) - 반복 횟수
song = 'cold, cold heart'
print (song.replace('cold', 'hurt'))
# >>> hurt, hurt heart
song = 'Let it be, let it be, let it be, let it be'
print(song.replace('let', "don't let", 2))
# >>> Let it be, don't let it be, don't let it be, let it be
|
'python' 카테고리의 다른 글
파이썬 리스트(list) 관련 함수 정리 (0) | 2020.05.21 |
---|---|
파이썬 리스트(list) 자료형 (0) | 2020.05.21 |
파이썬 join 함수 알아보기 (0) | 2020.05.19 |
파이썬 find, index 함수 알아보기 (0) | 2020.05.18 |
파이썬 count 함수 (0) | 2020.05.18 |