본문 바로가기
PROGRAMMING/PYTHON

[Python] 문자열 관련 함수

by 안녕나는현서 2022. 1. 10.
728x90

문자열(String)

  • immutable, ordered, iterable
# immutable : 값을 변경할 수 없음
a = 'my string?'
a[-1] = '!'

 

[조회 / 탐색]

  • .find(x) : x의 첫 번째 위치 반환, 없으면 -1 반환
a = 'apple'
a.find('p')  # 1
a.find('z')  # -1
  • .index(x) : x의 첫 번째 위치 반환, 없으면 오류 발생
a = 'apple'
a.index('p')  # 1
a.index('z')

 

[문자열 변경]

  • .replace(old, new[, count]) : old를 new로 바꿔서 반환
    count 지정 안하면 전체 old가 바뀌고, 지정하면 해당 개수만큼만 시행
a = 'yaya!'
b = 'wooooowoo'

a.replace('y', 'h')     # 'haha!'
b.replace('o', '_', 2)  # 'w__ooowoo'
  • .strip([chars]) : 특정 문자를 지정하면 양쪽 제거하거나 .lstrip() : 왼쪽을 제거하거나, .rstrip() : 오른쪽을 제거
    지정하지 않으면 공백을 제거
a = '   hello!  \n'
b = 'hihihihahahahihi'

print(a.strip())  # 'hello!'
a.lstrip()        # 'hello!  \n'
b.rstrip('hi')    # 'hihihihahaha'
  • .split([chars]) : 문자열을 특정한 단위로 나누어 리스트로 반환
a = 'a_b_c'

a.split('_')   # ['a', 'b', 'c']
  • 'separator'.join(iterable) : 반복가능한 컨테이너 요소들을 separator(구분자)로 합쳐 문자열로 반환
word = '배고파'
words = ['안녕', 'hello']

'!'.join(word)   # '배!고!파'
' '.join(words)  # '안녕 hello'

 

[대소문자 관련]

a = 'hI! Everyone, I\'m kim'
  • .capitalize() : 앞글자를 대문자로 만들어 반환
a.capitalize()   # "Hi! everyone, i'm kim"
  • .title() : '나 공백 이후를 대문자로 만들어 반환
a.title()        # "Hi! Everyone, I'M Kim"
  • .upper() : 모두 대문자로 만들어 반환
a.upper()        # "HI! EVERYONE, I'M KIM"
  • .lower() : 모두 소문자로 만들어 반환
a.lower()        # "hi! everyone, i'm kim"
  • .swapcase() : 대문자->소문자, 소문자->대문자로 변경하여 변환
a.swapcase()     # "Hi! eVERYONE, i'M KIM"
# print 함수로 변수 a를 출력하여 원본데이터를 확인
print(a)         # hI! Everyone, I'm kim -> 변하지 않았음

 

[기타 문자열 관련 검증 메소드]

→참/거짓 반환

  • .isalpha() : 알파벳 문자 여부 (단순 알파벳이 아닌 유니코드 상 Letter, 한국어 포함)
  • .isupper() : 대문자 여부
  • .islower() : 소문자 여부
  • .istitle() : 타이틀 형식 여부
  • dir 함수로 문자열이 가지고 있는 메소드를 확인할 수 있음 -> dir('string')
isdecimal() isdigit() isnumeric() Example
True True True "038", "੦੩੮", "038"
False True True "⁰³⁸", "🄀⒊⒏", "⓪③⑧"
False False True "↉⅛⅘", "ⅠⅢⅧ", "⑩⑬㊿", "壹貳參"
False False False "abc", "38.0", "-38"

 

 

728x90

'PROGRAMMING > PYTHON' 카테고리의 다른 글

[Python] 세트, 딕셔너리 관련 함수  (0) 2022.01.10
[Python] 리스트 관련 함수  (0) 2022.01.10
[Python] 2차원 배열, 딕셔너리 정렬  (0) 2021.10.08
[Python] 진수 변환  (0) 2021.10.03
[Python] 비트 연산자  (0) 2021.08.22

댓글