본문 바로가기
프로그래밍/Python

[파이썬 기초] 문자열 함수

by 아임코딩 2024. 1. 8.
728x90
반응형

소개

안녕하세요 아임코딩입니다.

이번 시간에는 파이썬에서 제공하는 문자열 관련 함수에 대해서 학습해보도록 하겠습니다.

자료형 중 문자는 일상생활에서 많이 사용하는 자료라고 할 수 있습니다.

파이썬을 이용하여 프로그래밍을 할 때에도 문자열을 잘 다룰 수 있어야 합니다.

파이썬에서는 문자열을 다루기 위해 다양한 문자열 관련 함수를 제공합니다.

 

 

문자열 길이 len()

 

len(문자열) 함수를 이용하면 특정 문자열의 길이를 알 수 있습니다.

len(문자열) == 문자열 길이

 

a = "안녕하세요"

length = len(a)

print(length) #5

 

 

문자열 안에 특정 문자 갯수 count()

count() 함수를 이용하면 문자열 안에 있는 특정 문자의 갯수를 셀 수 있습니다.

 

문자열.count(찾을 문자) == 문자열 안에 있는 찾을 문자 갯수

 

a = "1112222333333"

num = a.count('2')

print(num) # 4

no = a.count('a')

print(no) # 0

 

 

특정 문자열 찾기 find() , index()

문자열.find(찾을 문자) == 찾을 문자가 처음 등장하는 인덱스

문자열.index(찾을 문자) == 찾을 문자가 처음 등장하는 인덱스

 

find() , index() 차이 : 찾을 문자를 못 찾았을 때

find() : -1 반환

index() : 오류가 남

 

a = '12345678901234567890'

f = a.find('4')

i = a.index('7')

print(f, i) # 3 6

no_f = a.find('a')

print(no_f) # -1

no_i = a.index('a') # 오류

 

 

대문자로 변경 upper(), 소문자로 변경 lower()

문자열.upper() : 문자열에서 영어 소문자를 영어 대문자로 변경 후 반환

문자열.lower() : 문자열에서 영어 대문자를 영어 소문자로 변경 후 반환

 

a = 'hello'

big = a.upper()

print(big) # HELLO
print(a) # hello

small = big.lower()

print(a)     # hello
print(big)   # HELLO
print(small) # hello

 

 

a.upper() 함수를 사용하면 a의 문자열이 변경되는 것이 아니라 a가 변경된 문자열이 반환되어 big에 저장됩니다.

 

 

맨 앞 영문자만 대문자로 capitalize()

문자열.capitalize() : 맨 앞 영문자만 대문자로 바꾸기

 

a = 'hello'

cap = a.capitalize()

print(cap)	# Hello
print(a)	# hello

 

 

문자열 끝에서 특정 문자 제거 strip(), lstrip(), rstrip()

문자열.strip(제거할 문자) : 문자열 양쪽 끝에서 제거할 문자를 제거

문자열.lstrip(제거할 문자) : 문자열 왼쪽 끝에서 제거할 문자를 제거

문자열.rstrip(제거할 문자) : 문자열 오른쪽 끝에서 제거할 문자를 제거

 

a = '111222333111'

no_one = a.strip('1')

print(no_one) # 222333
print(a)      # 111222333111

no_left_one = a.lstrip('1')

print(no_left_one) # 222333111
print(a)      # 111222333111

no_right_one = a.rstrip('1')

print(no_right_one) # 111222333
print(a)      # 111222333111

 

세 함수 모두 적용하는 원래 문자열인 a는 변경하지 않고 반환되는 문자열만 변경됩니다.

 

 

문자열이 특정 문자열로 시작 startswith() 하거나 끝 endswith() 나는지 검사

문자열.startswith(특정 문자열) : 문자열이 특정 문자열로 시작하면 True 아니면 False

문자열.startswith(특정 문자열) : 문자열이 특정 문자열로 끝나면 True 아니면 False

 

 

a = 'python.py'

start = a.startswith('python')

print(start) #True

ends = a.endswith('.py')

print(ends) #True

 

 

문자열이 어떤 문자열인지 검사

문자열.isalnum() : 문자열이 알파벳과 숫자로 이루어져있으면 True, 아니면 False

문자열.isalpha() : 문자열이 알파벳으로 이루어져있으면 True, 아니면  False

문자열.islower() : 모두 소문자면 True, 아니면  False

문자열.isupper() : 모두 대문자면 True, 아니면  False

문자열.istitle() : 단어의 맨앞글자만 대문자(영어의 제목 형식에 맞게)일시 True 반환, 아니면  False

문자열.isdigit() : 문자열이 숫자로 이루어져있으면 True, 아니면  False

문자열.isdecimal() : 문자열이 10진수 문자열이면 True, 아니면  False

 

a = 'hello'

print(a.isalnum())  #True
print(a.isalpha())  #True
print(a.islower())  #True
print(a.isupper())  #False
print(a.istitle())  #False
print(a.isdigit())  #False
print(a.isdecimal())#False

 

 

728x90
반응형