소개
안녕하세요 아임코딩입니다.
이번 시간에는 파이썬에서 제공하는 문자열 관련 함수에 대해서 학습해보도록 하겠습니다.
자료형 중 문자는 일상생활에서 많이 사용하는 자료라고 할 수 있습니다.
파이썬을 이용하여 프로그래밍을 할 때에도 문자열을 잘 다룰 수 있어야 합니다.
파이썬에서는 문자열을 다루기 위해 다양한 문자열 관련 함수를 제공합니다.
문자열 길이 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
'프로그래밍 > Python' 카테고리의 다른 글
[파이썬 기초] if 조건문 (분기문) (1) | 2024.01.10 |
---|---|
[파이썬 기초] 불 (bool) 자료형 (0) | 2024.01.10 |
[파이썬 기초] 문자열 인덱싱 슬라이싱 (2) | 2024.01.08 |
[파이썬 기초] 문자열 기초 (1) | 2024.01.08 |
[파이썬 기초] 사용자 입력 input() (0) | 2024.01.08 |