반응형
이번글에서는 파이썬에서 자주 사용하는 문자열 함수들을 정리해보겠습니다.
# 대문자와 소문자로 변환하기
함수 | 설명 | 사용법 |
upper() | 소문자를 대문자로 변환합니다 | string.upper() |
lower() | 대문자를 소문자로 변환합니다 | string.lower() |
swapcase() | 대문자는 소문자로, 소문자는 대문자로 변환합니다 | string.swapcase() |
title() | 각 단어의 앞글자만 대문자로 변환합니다. 만약 각 단어 중간에 대문자가 있다면 소문자로 변환됩니다. | string.title() |
inputStr = "ByungJun And Jiwon"
upperStr = inputStr.upper()
print(upperStr)#BYUNGJUN AND JIWON
lowerStr = inputStr.lower()
print(lowerStr)#byungjun and jiwon
swapcaseStr = inputStr.swapcase()
print(swapcaseStr)#bYUNGjUN aND jIWON
titleStr = inputStr.title()
print(titleStr)#Byungjun And Jiwon
# 문자열 찾기
함수 | 설명 | 사용법 |
count() | 문자열에서 "찾을 문자열"이 몇 개 있는지 개수를 셉니다 | string.count("찾을 문자열") |
find() | 문자열에서 "찾을 문자열"이 왼쪽(0)부터 시작해서 몇번째에 위치하는지 알려줍니다 | string.find("찾을 문자열") |
rfind() | find()와 다르게 반대편에서부터 찾습니다 | string.rfind("찾을 문자열") |
index() | find()와 기능이 동일합니다. 다만 해당 문자열이 없으면 -1를 반환하는 find와 달리 오류가 발생합니다 | string.index("찾을 문자열") |
rindex() | index()와 다르게 반대편에서부터 찾습니다 | string.rindex("찾을 문자열") |
startwith() | "찾을 문자열"로부터 문자열이 시작되면 True 아니면 False를 반환합니다. | string.startswith("찾을 문자열") |
endswith() | "찾을 문자열"이 문자열의 마지막이면 True 아니면 False를 반환합니다 | string.endswith("찾을 문자열") |
inputStr = "아기 판다와 어른 판다는 둘 다 판다입니다"
print(inputStr.count("판다"))
#3
print(inputStr.find("판다"), inputStr.rfind("판다"), inputStr.find("판다", 6), inputStr.find("불곰"))
#3 18 10 -1
print(inputStr.index("판다"), inputStr.rindex("판다"), inputStr.index("판다", 6))
#3 18 10
print(inputStr.startswith("아기"), inputStr.startswith("사자"), inputStr.startswith("판다", 3), inputStr.endswith("판다입니다"))
#True False True True
# 문자열 공백 삭제
함수 | 설명 | 사용법 |
strip() | 양 쪽의 공백을 삭제해줍니다. 주의할 점은 문자열 중간에 있는 공백은 삭제해주지 않습니다. | string.strip() |
rstrip() | 오른쪽 공백을 삭제해줍니다. 주의할 점은 문자열 중간에 있는 공백은 삭제해주지 않습니다. | string.rstrip() |
lstrip() | 왼쪽 공백을 삭제해줍니다. 주의할 점은 문자열 중간에 있는 공백은 삭제해주지 않습니다. | string.lstrip() |
replace() | "기존 문자열"을 "새 문자열"로 변경해줍니다. | string.replace("기존 문자열","새 문자열") |
inputStr = " 아기 판다와 어른 판다는 둘 다 판다입니다 "
replaceStr = inputStr.replace("판다", "사자")
print(replaceStr)
# 아기 사자와 어른 사자는 둘 다 사자입니다
stripStr = inputStr.strip()
print(stripStr)
#아기 판다와 어른 판다는 둘 다 판다입니다
rstripStr = inputStr.rstrip()
print(rstripStr)
# 아기 판다와 어른 판다는 둘 다 판다입니다
lstripStr = inputStr.lstrip()
print(lstripStr)
#아기 판다와 어른 판다는 둘 다 판다입니다
# 문자열 분리
함수 | 설명 | 사용법 |
split() | 문자열을 공백이나 다른 문자로 분리해 리스트로 반환합니다 | string.split() string.split("분리할 문자") |
join() | 예시를 직접 보는게 더 이해가 쉬울것 같습니다 | string.join("join할 문자열") |
inputStr = "아기 판다와 어른 판다는 둘 다 판다입니다"
splitStr = inputStr.split()
print(splitStr)
#['아기', '판다와', '어른', '판다는', '둘', '다', '판다입니다']
splitPandaStr = inputStr.split("판다")
print(splitPandaStr)
#['아기 ', '와 어른 ', '는 둘 다 ', '입니다']
joinChar = '%'
joinStr = joinChar.join(inputStr)
print(joinStr)
#아%기% %판%다%와% %어%른% %판%다%는% %둘% %다% %판%다%입%니%다
joinList = inputStr.split()
joinStr2 = "".join(joinList)
print(joinStr2)
#아기 판다와 어른 판다는 둘 다 판다입니다
join에 대한 설명을 덧붙이자면
joinStr을 보면 각 문자마다 % 가 붙은 걸 보실수 있습니다. 공백도 문자로 취급되기 때문에 "기% % 판%" 이런식으로 출력됩니다.
joinStr2의 경우 문자열을 split()을 이용해 리스트로 만든 다음 "".join()을 이용하여 다시 문자열로 변환시켜줍니다.
# 함수명에 대입하기 : map() 함수
함수 | 설명 | 사용법 |
map() | map(함수명, 리스트명) 함수는 리스트값 하나하나를 함수명에 대입한다 | map("함수명","리스트명") |
def myFunc(num):
return num + 10
inputList = [10,20,30]
outputList = list(map(myFunc, inputList))
print(outputList)
#[20, 30, 40]
inputList2 = ["10","20","30"]
outputList2 = list(map(int, inputList2))
print(outputList2)
#[10, 20, 30]
outputList2를 설명하자면,
map의 첫번째 int(문자열을 숫자로 변환해주는 함수)는 다음 int("10"), int("20"), int("30")과 같습니다.
# 문자열 구성 파악하기
함수 | 설명 | 사용법 |
isdigit() | 숫자로만 구성되어 있는지 확인해줍니다 | string.isdigit() |
isalpha() | 문자로만 구성되어 있는지 확인해줍니다 | string.isalpha() |
isalnum() | 숫자,문자로 구성되어 있는지 확인해줍니다 | string.isalnum() |
islower() | 소문자로만 구성되어 있는지 확인해줍니다 | string.islower() |
isupper() | 대문자로만 구성되어 있는지 확인해줍니다 | string.isupper() |
isspace() | 공백으로만 구성되어 있는지 확인해줍니다 | string.isspace() |
onlyNum = "1231231231"
AlNum = "123Test"
onlyAl ="Test"
print(onlyNum.isdigit())#True
print(onlyNum.isalpha())#False
print(onlyNum.isalnum())#True
print(AlNum.isdigit())#False
print(AlNum.isalpha())#False
print(AlNum.isalnum())#True
print(onlyAl.isdigit())#False
print(onlyAl.isalpha())#True
print(onlyAl.isalnum())#True
onlyLower = "test"
onlyUpper = "TEST"
LowerAndUpper = "testTEST"
onlySpace = " "
print("---------------")
print(onlyLower.islower())#True
print(onlyLower.isupper())#False
print(onlyLower.isspace())#False
print(onlyUpper.islower())#False
print(onlyUpper.isupper())#True
print(onlyUpper.isspace())#False
print(LowerAndUpper.islower())#False
print(LowerAndUpper.isupper())#False
print(LowerAndUpper.isspace())#False
print(onlySpace.islower())#False
print(onlySpace.isupper())#False
print(onlySpace.isspace())#True
이상 파이썬에서 자주 사용하는 문자열 관련 함수 정리였습니다.
읽어주셔서 감사합니다.질문은 언제나 환영합니다.
"난 반드시 백엔드 왕이 될거야"
반응형
'...' 카테고리의 다른 글
[Python] 파이썬 2차원 리스트 초기화 (0) | 2021.02.17 |
---|---|
[Python] 리스트 특정값 모두 제거하기 (0) | 2021.02.17 |
[Python] Set() 세트 함수 (0) | 2021.02.13 |
[Python] 리스트 조작 함수 (0) | 2021.02.13 |
[JS] 현재날짜와 특정날짜 비교하기 (0) | 2021.02.04 |