아이엠 !나이롱맨😎
article thumbnail
Published 2021. 2. 14. 13:23
[Python] 문자열 함수 총 정리 ...
반응형

 

이번글에서는 파이썬에서 자주 사용하는 문자열 함수들을 정리해보겠습니다.

 

 


# 대문자와 소문자로 변환하기

 

함수 설명 사용법
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

 

이상 파이썬에서 자주 사용하는 문자열 관련 함수 정리였습니다.

 

읽어주셔서 감사합니다.질문은 언제나 환영합니다.
"난 반드시 백엔드 왕이 될거야"

 

반응형

article prev thumbnail

이전 글

[Python] Set() 세트 함수

2021.02.13

article next thumbnail
profile on loading

Loading...