문자열 처리

문자열 슬라이싱

sentence = "Hello."

print(sentence[0])
print(sentence[1])
print(sentence[2])
print(sentence[3])
print(sentence[4])
print(sentence[5])

print(sentence[0:6])
print(sentence[:2])
print(sentence[2:6])
print(sentence[:])
print(sentence[2:])

print(sentence[-1])
print(sentence[-2])
print(sentence[-3])
print(sentence[-4])
print(sentence[-5])
print(sentence[-6])

print(sentence[1:-2])
H
e
l
l
o
.
Hello.
He
llo.
Hello.
llo.
.
o
l
l
e
H
ell

문자열 처리함수

문자열 처리함수 설명
lower() 전부 소문자
upper() 전부 대문자
title() 단어의 첫 문자들을 대문자로
capitalize() 문장의 첫 문자를 대문자로
isupper() 대문자 판별
islower() 소문자 판별
len() 길이 반환(공백포함)
replace() 문자열 치환
count() 특정 문자 개수 확인
find() 특정 문자 인덱스 찾기
index() 특정 문자 인덱스 찾기
strip() 문자열의 좌우 공백을 없앰
rstrip() 문자열의 오른쪽 공백을 없앰
lstrip() 문자열의 왼쪽 공백을 없앰
split() 특정 문자를 기준으로 문자열 분리
isdecimal() 숫자판별(어떤 문자열이 int형으로 변환이 가능하면 True를 반환)
isdigit() 숫자판별(어떤 문자열이 숫자의 형태면 True를 반환)
isnumeric() 숫자판별(숫자값 표현에 해당하는 문자열이면 True를 반환)
isalpha() 주어진 문자열이 알파벳으로만 구성되어 있는지 판별. 공백이 있으면 False를 반환
isalnum() 주어진 문자열이 알파벳+숫자로만 구성되어 있는지 판별. 알파벳이나 숫자 둘 중 하나로만 구성되어 있어도 True를 반환하고, 공백이 있으면 False를 반환
'sep'.join() 문자열 합치기
only_en = "Python is Amazing"
only_num = "23123"
num_en = "Python123"
sentence = "       Hello, World          "
print(only_en.lower())

print(only_en.upper())

print(only_en.title())

print(only_en.capitalize())

print(only_en[0].isupper())
print(only_en[3].isupper())

print(only_en[0].islower())
print(only_en[3].islower())

print(len(only_en))
print(len(only_num))

print(only_en.replace("Python", "C++"))
print(num_en.replace(num_en[:6], "456"))

print(only_en.count("n"))
print(only_num.count("23"))

print(only_en.find("o"))
print(only_en.find("Am"))   # 문자가 2개 이상일 경우 첫번째 단어 시작 인덱스만 반환
print(only_en.find("l"))    # 찾는 문자가 없을 경우 -1 반환
print(only_en.find("i", 8))  # i라는 문자를 8번째 인덱스부터 찾음  

print(only_en.index("o"))
# print(only_en.index("l")) # 찾는 문자가 없을 경우 오류 반환
print(only_en.index("i", 8))  # i라는 문자를 8번째 인덱스부터 찾음  

print(sentence.strip())
print(sentence.rstrip())
print(sentence.lstrip())
print(sentence.split(' '))
print(sentence.split(", "))
print(sentence.strip().split(", "))
print(only_num.isdecimal())
print(only_num.isdigit())
print(num_en.isnumeric())
print(only_en.isalpha())
print(num_en.isalpha())
print(only_num.isalnum())
print(num_en.isalnum())
print(only_en.isalnum())

join_ex = ['a', 'b', 'c', 'd', 'e', 'f']
print("".join(join_ex))
python is amazing
PYTHON IS AMAZING
Python Is Amazing
Python is amazing
True
False
False
True
17
5
C++ is Amazing
456123
2
2
4
10
-1
14
4
14
Hello, World
       Hello, World
Hello, World          
['', '', '', '', '', '', '', 'Hello,', 'World', '', '', '', '', '', '', '', '', '', '']
['       Hello', 'World          ']
['Hello', 'World']
True
True
False
False
False
True
True
False
abcdef

문자열 포맷

# 방법 1
print("I am %d years old." %20)
print("I like %s." %"python")
print("I like %s and %s." %("banana", "apple"))

# 방법 2
print("I am {} years old.".format(20))
print("나는 {}색과 {}색을 좋아합니다.".format("파란", "빨간"))
print("나는 {1}색과 {0}색을 좋아합니다.".format("파란", "빨간"))
print("나는 {age}살이며, {color}색을 좋아해요.".format(age=20, color="빨간"))

# 방법 3
age = 20
color = "파란"
print(f"나는 {age}살이며, {color}색을 좋아해요.")
I am 20 years old.
I like python.
I like banana and apple.
I am 20 years old.
나는 파란색과 빨간색을 좋아합니다.
나는 빨간색과 파란색을 좋아합니다.
나는 20살이며, 빨간색을 좋아해요.
나는 20살이며, 파란색을 좋아해요.

탈출문자

|탈출문자|설명| |:—:|:—:| |\n|줄바꿈| |", '|문장 내에서 “, ‘ 사용| |\|문장내에서 \사용| |\r|커서를 맨 앞으로 이동| |\b|한 글자 삭제| |\t|탭|

print("안녕하세요\n반갑습니다")
print("저는 '빨강색'을 좋아합니다")
print('저는 "파란색"을 좋아합니다')
print("C:User\\abcd\\efgh")
print("Red Apple\rPine")    # Red Apple이 먼저 찍히고 커서가 앞으로 돌아와서 Red 자리에 Pine출력
print("Pinee\bApple")
print("Pine\tApple")
안녕하세요
반갑습니다
저는 '빨강색'을 좋아합니다
저는 "파란색"을 좋아합니다
C:User\abcd\efgh
PineApple
PineApple
Pine	Apple

문자열 정렬

  • 파이썬에서는 문자열을 정렬하는 기능을 지원함
메서드 설명
ljust() 오른쪽으로 정렬
rjust() 왼쪽으로 정렬
zfill() 0을 왼쪽에 채워줌
print("Hi".ljust(5))
print("Hi".ljust(5, "."))

print("Hi".rjust(5))
print("Hi".rjust(5, "."))

print("Hi".zfill(5))
print("30000".zfill(10))
Hi   
Hi...
   Hi
...Hi
000Hi
0000030000

카테고리:

업데이트:

댓글남기기