파이썬(Python) 문자열 주요 함수

반응형

문자열 주요 함수

더하기

덧셈 가능 (뺄셈 불가, 에러 발생)

#문자열 덧셈
print('Nice' + ' ' + 'to meet you')
Nice to meet you

print('ana' + 'conda')
anaconda

#변수를 이용한 문자열 덧셈
las_tname = 'HONG'
firs_tname = 'GILDONG'
print(last_name + ' ' + first_name)

year = '1999'
month = '06'
day = '21'
print('생년월일:', year + month + day)
생년월일: 19990621

곱하기

곱셈 가능 (나눗셈 불가, 에러 발생)

#문자열 곱셈
data = 'korea'
print(data * 3)

print('=' * 30)
print('\n')
print('=' * 30)
==============================

==============================

대문자/소문자

대문자 만들기 : 문자열.upper()

소문자 만들기 : 문자열.lower()

소문자 판단하기 : 문자열.islower()

첫 문자 대문자 만들기 : 문자열.capitalize()

#대문자 만들기
data = 'hello'
uppercase_data = data.upper()
print(uppercase_data)
HELLO

#소문자 만들기
data = 'Python Programming is Fun!'
lowercase_data = data.lower()
print(lowercase_data)
python programming is fun!

#소문자 판단하기
data = 'a'
print(data.islower())
True

data = 'A'
print(data.islower())
False

#첫 문자 대문자 만들기
data = 'korea'
cap_data = data.capitalize()
print(cap_data)
Korea

data = 'hong'
cap_data = data.capitalize()
print(cap_data)
Hong

쪼개기(나누기)

split() 함수

- 인자값을 입력하지 않으면 공백을 기준으로 문자열을 쪼갠다

- 특정 인자값을 입력하면 입력된 인자값을 기준으로 문자열을 쪼갠다

- 엑셀 기능 중 데이터 나누기 기능과 같다.

#인자값 없이 쪼개기(공백으로 쪼개짐)
data = '파이썬이 등장했더니 자바와 C가 텃새를 부린다'
split_data = data.split()
print(split_data)
['파이썬이', '등장했더니', '자바와', 'C가', '텃새를', '부린다']

#특정 인자값으로 쪼개기
date = '2023-08-16'
split_date = date.split('-')
print(split_date)
['2023', '08', '16']

#CSV(Comma-Separated Values) 형식의 데이터를 용도에 맞는 변수에 각각 분리하여 처리
csv_data = 'John,Doe,30,New York'
split_data = csv_data.split(',')
first_name, last_name, age, city = split_data
print(first_name)
John
print(last_name)
Doe
print(age)
30
print(city)
New York

#문장을 공백 단위로 쪼개고 + 특정 단어가 몇개나 포함되어 있는지 개수 출력
data = "Python is an amazing programming language. Python is versatile and powerful."
words = data.split()
print(words)
['Python', 'is', 'an', 'amazing', 'programming', 'language.', 'Python', 'is', 'versatile', 'and', 'powerful.']
target_word = 'Python'
word_count = words.count(target_word)
print(word_count)
2

변경

슬라이싱 활용 + 문자열.replace('기존 문자', '새로운 문자', '위치')

- 기본적으로 문자열은 immutable 형식이라 변경이 어려움

- 슬라이싱 또는 replace 메서드(함수)로 새로운 문자열을 생성해야 함

#변경 시 에러 발생
data = 'Kello'
data[0] = 'H'
print(data)
TypeError                                 Traceback (most recent call last)
Cell In[37], line 2
      1 data = 'Kello'
----> 2 data[0] = 'H'
      3 print(data)

TypeError: 'str' object does not support item assignment

#새로운 문자열을 생성해 변경
data = 'Kello'
data1 = 'H' + data[1:]
print(data1)
Hello

#replace로 변경
data = 'Kello'
data2 = data.replace('K', 'H', 1)
print(data2)
Hello

#replace 마지막 인자값은 위치를 나타내는데 1이면 첫 번째 'a'만 'o'로
data = 'Banana'
data3 = data.replace('a', 'o', 1)
print(data3)
Bonana

#마지막 인자값이 2면 처음부터 두 번째까지 'a'를 'o'로
data = 'Banana'
data3 = data.replace('a', 'o', 2)
print(data3)
Bonona

#마지막 인자값을 생략하면 해당 변수에 존재하는 모든 'a'를 'o'로
data = 'Banana'
data3 = data.replace('a', 'o')
print(data3)
Bonono

길이

len(문자열)

data = 'samsung'
len(data)
7

#특수 기호도 포함됨
data = 'Hitachi_Japan'
len(data)
13

#공백도 포함됨
data = '625전쟁은 6월 25일'
len(data)
13

공백 제거

문자열.strip()  → lstrip(), rstrip() 좌/우 각각 사용 가능

- 좌우 공백 제거

#좌/우 공백제거
data = '    Apple    '
data = data.strip()
print(data)
Apple

#좌 공백제거
data = '    Apple    '
data = data.lstrip()
print(data)
Apple    

#우 공백제거
data = '    Apple    '
data = data.rstrip()
print(data)
    Apple

컴마 삭제/추가

#콤마(,) 삭제
data = '바나나, 참외, 수박, 자두, 복숭아, 체리, 블루베리'
data = data.replace(',', '')
print(data)

#콤마(,) 추가
data = '바나나 참외 수박 자두 복숭아 체리 블루베리'
data = data.replace(' ', ', ')
print(data)
바나나, 참외, 수박, 자두, 복숭아, 체리, 블루베리

money = 18500000
format(money, ',d')
'18,500,000'
반응형

댓글

Designed by JB FACTORY