[Python] 문자열 자료형(4) - 문자열 관련 함수들
문자열 관련 함수들
- 문자열 자료형은 자체적으로 함수를 가지고 있으며 이들 함수를 다른 말로 ‘문자열 내장 함수’라고 함
- 이 내장 함수를 사용하려면 문자열 변수 이름 뒤에 ‘.’을 붙인 후 함수 이름을 써주면 됨
문자 개수 세기 : count
a = "hobby"
print(a.count('b')) # 2
count
함수는 문자열 중 괄호 안에 적힌 문자 ‘b’의 개수를 리턴
위치 반환1 : find
a = "Python is the best choice"
print(a.find('b')) # 14
print(a.find('k')) # -1
find
함수로 문자열 중 문자 b가 처음 나온 위치를 반환함- 만약 찾는 문자나 문자열이 존재하지 않는다면 -1을 반환
위치 반환2 : index
a = "Life is too short"
print(a.index('t')) # 8
index
함수로 문자열 중 문자 t가 맨 처음으로 나온 위치를 반환- 만약 찾는 문자나 문자열이 존재하지 않는다면 오류가 발생
문자열 삽입 : join
print(",".join('abcd')) # a, b, c, d
join
함수로 abcd 문자열의 각각의 문자 사이에 ‘,’를 삽입-
join
함수는 문자열 외에도 리스트나 튜플 입력으로 사용 가능print(",".join(['a', 'b', 'c', 'd'])) # a, b, c, d
소문자 → 대문자 : upper
a = "hi"
print(a.upper()) # HI
upper
함수는 소문자를 대문자로 바꾸어줌- 만약 문자열이 이미 대문자라면 아무런 변화도 일어나지 않음
대문자 → 소문자 : lower
a = "HI"
print(a.lower()) # hi
lower
함수는 대문자를 소문자로 바꾸어줌
공백 지우기 : lstrip, rstrip, strip
a = " hi "
print(a.lstrip()) # 'hi '
print(a.rstrip()) # ' hi'
print(a.strip()) # 'hi'
lstrip
함수는 문자열 중 가장 왼쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지움 ⇒ l : leftrstrip
함수는 문자열 중 가장 오른쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지움 ⇒ r : rightstrip
함수는 문자열 양쪽에 있는 한 칸 이상의 연속된 공백을 모두 지움
문자열 바꾸기 : replace
a = "Life is too short"
print(a.replace("Life", "Your leg")) # Your leg is too short
replace
함수는replace(바뀔문자열, 바꿀문자열)
처럼 사용하여 문자열 안의 특정한 값을 다른 값으로 치환해 줌
문자열 나누기 : split
a = "Life is too short"
print(a.split()) # ['Life', 'is', 'too', 'short']
b = "a:b:c:d"
print(b.split(":")) # ['a', 'b', 'c', 'd']
split
함수는a.split()
처럼 괄호 안에 아무 값도 넣어 주지 않으면 공백(Spacebar, Tab, Enter)을 기준으로 문자열을 나누어줌- 만약
b.split(":")
처럼 괄호 안에 특정 값이 있을 경우에는 괄호 안의 값을 구분자로 하여 문자열을 나누어줌 - 이렇게 나누어진 값은 리스트에 하나씩 들어감
착각하기 쉬운 문자열 함수
a = 'hi' a.upper() print(a) # hi
- 문자열은 불변(immutable) 자료형이기 때문에 자체의 값을 변경할 수 없음
- 실제로 변경하고 싶다면
a = a.upper()
과 같은 형식으로 대입해주어야 함- upper 뿐만아니라 위에서 설명한 함수는 모두 이와 같은 규칙이 적용되여 문자열 자체의 값이 변경되는 것이 아니라 변경된 값을 리턴
댓글남기기