Python

파이썬의 문자열 - 2편(find, rfind, count, strip, replace, split, upper, lower)

총알 2024. 6. 8. 13:09
728x90

저번 글에 이어서 이번에 문자열 관련 함수들을 알아볼 예정이다.

간략하게 함수명과 사용방법, 출력방법에 대해서 정리할 것이다.

 

먼저 앞선 포스팅에서 설명했던 find, rfind도 다시 이번글에서 정리해 보겠다.

 

문자열.find(찾을 문자열, First Index, Last Index)
특정 문자열을 찾는 함수

First index, Last index는 생략이 가능하다.
해당 문자열이 있을 경우: 0을 return
해당 문자열이 없을 경우: -1을 return

 

find 함수 예제
str1 = "Apple, Banana, Cherry"

result_find1 = str1.find("Applx")
result_find2 = str1.find("Banana")
result_find3 = str1.find("Banana",2,7)
result_find4 = str1.find("Banana",9)
result_find5 = str1.find("Banana",2,20)

print("Applx find 결과: %d" %result_find1)
print("Banana find 결과(전체 문자열): %d" %result_find2)
print("Banana find 결과(2~7): %d" %result_find3)
print("Banana find 결과(9~): %d" %result_find4)
print("Banana find 결과(2~20): %d" %result_find5)

################출력 결과물################
Applx find 결과: -1
Banana find 결과(전체 문자열): 7
Banana find 결과(2~7): -1
Banana find 결과(9~): -1
Banana find 결과(2~20): 7

문자열.rfind(찾을 문자열, First Index, Last Index)
특정 문자열의 First index를 찾는 함수

First index, Last index는 생략이 가능하다. 
해당 문자열이 있을 경우: 문자열의 First index를 return
해당 문자열이 없을 경우: -1을 return

 

rfind 함수 예제
str1 = "Apple, Banana, Cherry"

index_Apple = str1.rfind("Appl")
index_Melon = str1.rfind("Melon")
index_Cherry1 = str1.rfind("Cherry")
index_Cherry2 = str1.rfind("Cherry",10,21)
index_Cherry3 = str1.rfind("Cherry",7)
index_Cherry4 = str1.rfind("Cherry",20)

print("Apple find 결과: %s" %index_Apple)
print("Melon find 결과: %s" %index_Melon)
print("Cherry find 결과(전체 문자열): %s" %index_Cherry1)
print("Cherry find 결과(10~21): %s" %index_Cherry2)
print("Cherry find 결과(7~): %s" %index_Cherry3)
print("Cherry find 결과(20~): %s" %index_Cherry4)

################출력 결과물################
Apple find 결과: 0
Melon find 결과: -1
Cherry find 결과(전체 문자열): 15
Cherry find 결과(10~21): 15
Cherry find 결과(7~): 15
Cherry find 결과(20~): -1

문자열.count(찾을 문자열)
특정 문자열의 개수를 출력하는 함수
해당 문자열이 있을 경우 등장한 문자열의 갯수를 출력

 

count 함수 예제
str1 = "BanaNa"

cnt_Ba = str1.count('Ba')
cnt_n = str1.count('n')
cnt_a = str1.count('a')
cnt_z = str1.count('z')

print("Ba의 갯수: %d" %cnt_Ba)
print("n의 갯수: %d" %cnt_n)
print("a의 갯수: %d" %cnt_a)
print("z의 갯수: %d" %cnt_z)

################출력 결과물################
Ba의 갯수: 1
n의 갯수: 1
a의 갯수: 3
z의 갯수: 0

문자열.upper()
해당 문자열에서 소문자를 대문자로 바꾸는 함수
upper 함수 예제
str1 = "BanaNa"
str1_upper = str1.upper()
print("문자열 출력: %s" %str1_upper)

################출력 결과물################
문자열 출력: BANANA

문자열.lower()
해당 문자열에서 대문자를 소문자로 바꾸는 함수
lower 함수 예제
str1 = "BaNANA"
str1_lower = str1.lower()
print("문자열 출력: %s" %str1_lower)

################출력 결과물################
문자열 출력: banana

문자열.lstrip()
해당 문자열에서 왼쪽의 공백을 지우는 함수
lstrip 함수 예제
str_header = "h_"
str = "  BaNANA     "
str_tail = "_t"
del_left_gap = str.lstrip()
strsum = str_header + del_left_gap + str_tail
print("문자열 출력: %s" %strsum)

################출력 결과물################
문자열 출력: hBaNANA     t

문자열.rstrip()
해당 문자열에서 오른쪽의 공백을 지우는 함수
rstrip 함수 예제
str_header = "h_"
str = "  BaNANA     "
str_tail = "_t"
del_right_gap = str.rstrip()
strsum = str_header + del_right_gap + str_tail
print("문자열 출력: %s" %strsum)

################출력 결과물################
문자열 출력: h_  BaNANA_t

문자열.strip()
해당 문자열에서 왼쪽과 오른쪽 모두 공백을 지우는 함수
strip 함수 예제
str_header = "h_"
str = "  BaNANA     "
str_tail = "_t"
del_gap = str.strip()
strsum = str_header + del_gap + str_tail
print("문자열 출력: %s" %strsum)

################출력 결과물################
문자열 출력: h_BaNANA_t

문자열.replace(교체할 문자열, 교체될 문자열)
해당 문자열에서 특정 문자열을 다른 문자열로 교체하는 함수
replace 함수 예제
str = "I am very Sad"
replace_str = str.replace("Sad","Happy")
print("교체된 문자열: %s" %replace_str)

################출력 결과물################
교체된 문자열: I am very Happy

문자열.split(문자열을 나누는 기준)
해당 문자열에서 특정 문자열을 기준으로 문자열을 나눠 리스트에 담는 함수
split 함수 예제
str = "Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday"
str_split1 = str.split() #인자 미입력
str_split2 = str.split(', ') #인자 입력

print("나눠진 문자열: %s" %str_split1)
print("나눠진 문자열: %s" %str_split2)

################출력 결과물################
나눠진 문자열: ['Monday,', 'Tuesday,', 'Wednesday,', 'Thursday,', 'Friday,', 'Saturday,', 'Sunday']
나눠진 문자열: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

 

728x90