본문으로 바로가기

파이썬 문자열 함수 정리

category python 2020. 5. 20. 17:08
반응형

파이썬에서 문자열에 대한 정리이다.

이 메서드 모음은 str 클래스에 있는 것을 기준으로 정리하였다.


  • capitalize()

첫 문자가 대문자이고 나머지가 소문자인 문자열의 복사본을 리턴한다.

# 첫문자가 대문자이고 나머지가 소문자인 문자열의 복사본을 리턴한다.
= 'PYTHON'
print( a.capitalize() )
>>> Python

  • count(x, start, end)
  1.  x - 개수를 찾을 문자열 또는 문자입니다.
  2. str (선택 사항) - 검색이 시작되는 문자열 내에서 시작 색인.
  3. end (선택 사항) - 검색이 끝나는 문자열 내에서 끝 인덱스.
# 문자 및 문자열 개수 세기
# 중복되지 않는 개수를 센다.
# str.count(찾을 문자열 및 문자, 시작위치, 끝위치)
# str.count(찾을 문자열 및 문자)
 
= 'pythonpp'
 
print(a.count('p'))
 
>>> 3
 
= 'pythonpy'
 
print(a.count('py',0,5))
 
>>> 1
 

  • find(sub, start, end)

문자열 내에서 하위 문자열의 인덱스를 반환 합니다.

문자 나 문자열이 없을시 -1 을 반환 합니다.

  1. sub - 검색 할 하위 문자열 입니다.
  2. start (선택 사항) - 검색이 시작되는 문자열 내에서 시작 색인.
  3. end(선택 사항) - 검색이 끝나는 문자열 내에서 끝 인덱스.
# 문자 및 문자열 위치 찾기
# string.find(찾을 문자열 및 문자, 시작위치, 끝위치)
# string.find(찾을 문자열 및 문자)
 
= 'pythonpy'
 
print(a.find('y'))
 
# >>> 1
 
print(a.find('py',0,5))
 
# >>> 0
 
print(a.find('tk'))
 
# >>> -1

  • index(sub, start, end)

문자열 내에서 하위 문자열의 인덱스를 반환 합니다.

문자 나 문자열이 없을시 오류가 발생합니다.

  1. sub - 검색 할 하위 문자열 입니다.
  2. start (선택 사항) - 검색이 시작되는 문자열 내에서 시작 색인.
  3. end(선택 사항) - 검색이 끝나는 문자열 내에서 끝 인덱스.
# 문자 및 문자열 위치 찾기
# string.index(찾을 문자열 및 문자, 시작위치, 끝위치)
# string.index(찾을 문자열 및 문자)
 
= 'pythonpy'
 
print(a.index('y'))
 
# >>> 1
 
print(a.index('py',0,5))
 
# >>> 0
 
print(a.index('tk'))
 
# >>> 오류 발생

  • isalnum()

문자열의 모든 문자가 숫자 또는 알파벳 또는 한글 이면 True 를 반환

아니면 False 를 반환

= 'python'
print( a.isalnum() )
# >>> True
 
= 'python홍길동'
print( a.isalnum() )
# >>> True
 
= 'python%%'
print( a.isalnum() )
# >>> False
 

  • isalpha()

문자열의 모든 문자가 알파벳이면 True 반환

아니면 False 반환

그러나 테스트 시 한글이 들어가도 True 반환

알파벳과 한글이 나뉘어 있을시에는 False 반환

python True
python홍길동 True
python 홍길동 False
python%% False

 

 
= 'python'
print( a.isalpha() )
# >>> True
 
= 'python홍길동'
print( a.isalpha() )
# >>> True
 
= 'python 홍길동'
print( a.isalpha() )
# >>> False
 
= 'python%%'
print( a.isalpha() )
# >>> False
 

  • isdecimal()

문자열의 모든 문자가 10진수이면 True 반환

아니면 False 반환

 
= '123'
print( a.isdecimal() )
# >>> True
 
= '123 ##'
print( a.isdecimal() )
# >>> False
 
= '123 홍길동'
print( a.isdecimal() )
# >>> False
 
= 'python 123'
print( a.isdecimal() )
# >>> False
 

  • isdigit()

문자열의 모든 문자가 숫자인 경우 True 반환

아니면 False 반환

 
= '123'
print( a.isdigit() )
# >>> True
 
= '123 ##'
print( a.isdigit() )
# >>> False
 
= '123 홍길동'
print( a.isdigit() )
# >>> False
 
= 'python 123'
print( a.isdigit() )
# >>> False
 

  • islower()

문자열의 모든 알파벳이 소문자 이면 True 반환

문자열에 대문자 하나 이상 있으면 False 반환

 
= 'python'
print( a.islower() )
# >>> True
 
= '123 ##'
print( a.islower() )
# >>> False
 
= '123 홍길동 pp'
print( a.islower() )
# >>> True
 
= '123 홍길동'
print( a.islower() )
# >>> False
 
= 'Python 123'
print( a.islower() )
# >>> False
 

  • isspace()

간격에 사용되는 문자를 공백 문자라고합니다. [예 : 탭, 공백, 줄 바꿈 등]

문자열에 공백 문자열만 있을경우 True 를 반환

아니면 False 반환

 
= '   \t'
print(a.isspace())
 
= ' a '
print(a.isspace())
 
= ''
print(a.isspace())

  • isupper()

문자열의 모든 알파벳이 대문자 이면 True 반환

문자열에 소문자 하나 이상 있으면 False 반환

 
= 'PYTHON'
print( a.isupper() )
# >>> True
 
= 'PYTHON홍길동'
print( a.isupper() )
# >>> True
 
= 'PYTHON 홍길동'
print( a.isupper() )
# >>> True
 
= 'python%%'
print( a.isupper() )
# >>> False
 

  • join(iterable)

join 은 반복 가능한 객체에 사이사이에 문자열을 연결하게 해준다.

  1. 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'}
= ','
print(s.join(test))
# >>> 3,2,1
 
test = {'Python''Java''Ruby'}
= '->->'
print(s.join(test))
# >>> Java->->Ruby->->Python
 
test = {'mat'1'that'2}
= '->'
print(s.join(test))
# >>> mat->that
 
# join 시 키가 문자열이 아닐경우 error
test = {1'mat'2'that'}
= ','
print(s.join(test))
# >>> error

  • lower()

문자열의 모든 대문자를 소문자로 변환합니다.

 
string = "HI PYTHON"
print(string.lower())
>>> hi python
 
 
string = "TH!S !IS A0PPLE!"
print(string.lower())
>>> th!!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)

문자열의 구분자를 중심으로 문자를 나눈다.

  1. 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()

각 단어의 첫 글자를 대문자로 반환한다.

= 'this is good'
print(a.title())
# >>> This Is Good

  • zfill(width)

왼쪽에 0문자가 채워진 문자열을 반환한다.

width 길이가 문자열의 길이보다 작으면 문자열 그대로 반환한다.

  1. 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)

부분 문자열을 다른 새 문자열로 교체한다.

  1. old - 교체당할 기존 문자열
  2. new - 교체할 새로운 문자열
  3. 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