본문으로 바로가기

파이썬 문자열 함수 정리

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

댓글을 달아 주세요