- 내가 보고 사용하기 위한 파이썬 문자열 함수 정리
- 지속 업데이트 예정
문자열 내의 특정 문자열을 다른 문자열로 바꾼 값을 리턴한다.
replace("찾을 문자열", "바꿀 문자열")
s = "Shoes on, get up in the morn', cup of milk, let's rock and roll"
replaced = s.replace("milk", "coffee")
print(replaced)
# 결과
# Shoes on, get up in the morn', cup of coffee, let's rock and roll
[MEMO]
찾을 문자열이 여러개라면? => 모든 문자열을 바꾼다.
인자를 기준으로 하여 문자열을 자른 리스트를 리턴한다.
split("기준 문자열")
s = "Life goes on"
splits = s.split()
print(splits)
# 결과
# ['Life', 'goes', 'on']
[MEMO]
인자를 넣지 않으면 공백을 기준으로 나눈다.
인자로 들어오는 문자열 사이사이에 문자열을 삽입한 값을 리턴한다.
"사이에 들어갈 문자열".join("사이를 내어줄 문자열")
s = ".".join("BTS")
print(s)
# 결과
# B.T.S
[MEMO]
헷갈릴 수 있는데, 한글로 번역하면 약간 매끄럽지 못한데 영어 그대로 자연스럽게 읽으면 쉽다.
He Join Us == 그는 우리와 함께 한다(그는 우리 사이에 어울린다)
문자열에 인자를 포맷팅한 값을 리턴한다.
"{0} {1} {2}".format("값1", "값2", "값3")
s = "Jump up to the {0} {1}".format("top", "LeBron")
print(s)
# 결과
# Jump up to the top LeBron
"{kwarg1} {kwarg2} {kwarg3}".format(kwarg1="값1", kwarg2="값2", kwarg3="값3")
s = "Jump up to the {position} {player}".format(position="top", player="LeBron")
print(s))
# 결과
# Jump up to the top LeBron
[MEMO]
함수 파라미터명으로 인자를 대입하는 것을 키워드 인자(Keyword Argument)라고 부른다.
문자열에서 인자의 개수를 세서 리턴한다.
count("찾을 문자열")
s = "BTS"
c = s.count("B")
print(c)
# 결과
# 1
문자열에서 인자가 처음으로 나온 위치를 찾아서 리턴한다. 찾지 못했을 경우 -1을 리턴한다
find("찾을 문자열")
s = "Disco overload, I'm into that, I'm good to go"
idx = s.find("good")
print(idx)
# 결과
# 35
문자열에서 인자가 처음으로 나온 위치를 찾아서 리턴한다. 찾지 못했을 경우 에러를 발생시킨다
index("찾을 문자열")
s = "Disco overload, I'm into that, I'm good to go"
idx = s.index("goooood")
print(idx)
# 결과
# ValueError: substring not found
[TODO]
find()와 index()가 무슨 차이가 있는지 확실히 파악 필요.
- find()는 문자열에서만 사용 가능 / index()는 문자열, 리스트, 튜플에서 사용 가능.
- 시간복잡도의 차이는 없을까?
문자열의 모든 문자를 대문자로 바꾼 값을 리턴한다.
upper()
s = "dynamite"
up = s.upper()
print(up)
# 결과
# DYNAMITE
문자열의 모든 문자를 소문자로 바꾼 값을 리턴한다.
lower()
s = "DYNAMITE"
low = s.lower()
print(low)
# 결과
# dynamite