Python은 문자열을 다루기에 가장 좋은 프로그래밍 언어 중 하나다.
기본적으로 내장 라이브러리에서 문자열을 다루는데 사용하는 여러 메서드 들을 제공한다.
Python에서는 문자열을 더하고 곱할 수 있다.
str1 = "Hello"
str2 = " World!"
print(str1 + str2)
## Hello World!
a = "Test!"
print(a * 3)
## Test!Test!Test!
문자열 길이 구하기
a = "Hello World!"
print(len(a))
## 12
문자열 인덱싱과 슬라이싱
a = "Hello World!"
a[0]: 'H'
a[1]: 'e'
a[2]: 'l'
...
a[11]: '!'
a[-1]: '!'
a[-0]: 'H' # 0과 -0은 같다.
a = "Hello World!"
print(a[0:5])
## Hello
print(a[0:4])
## Hell
a= "Hello World!"
print(a[:5])
## Hello
print(a[5:])
## ' World!' # 이렇게 문자열을 두 부분으로 나눌 수 있다.
포맷 코드를 통해 문자열 안에 변수를 집어넣을 수 있다.
print("Hello %s" % "World!")
## Hello World!
a = "World!"
print("Hello %s" % a) # 변수를 넣는 것도 가능
## Hello World!
print("%s %s" % ("Hello", "World!")) # ()안에 ,로 구분해서 여러개를 넣을 수 있다.
## Hello World!
포맷 코드는 다음과 같다.
%s 문자열(String)
%c 문자 1개(character)
%d 정수(Integer)
%f 부동소수(floating-point)
%o 8진수
%x 16진수
%% Literal % (문자 % 자체)
또는 format 함수를 사용할 수도 있다.
print("Hello {0}".format("World!"))
## 'Hello World!'
a = "World!"
print("Hello {0}".format(a)) # 변수를 넣는 것도 가능
## Hello World!
print("{0} {1}".format("Hello", "World!")) # {0}, {1}, .... 의 방법으로 여러개 입력 가능
## Hello World!
a = "Hello"
b = "World!"
print(f'{a} {b}') # {}안에 변수를 넣을 수 있다
## Hello World!
age = 20
print(f'My age is {age+1}') # {}안에서 정수형 변수의 연산도 가능
## My age is 21
a = "Hello World!"
print(a.count('l'))
## 3
a = "Hello World!"
print(a.find('l'))
## 2
a = "Hello World!"
print(a.index('l'))
## 2
print(a.index('x'))
# 오류 출력
""" Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found """
a = "Hello"
print(",".join(a))
## H,e,l,l,o
a = "hello"
b = "WORLD!"
print(a,b)
## hello WORLD!
print(a.upper(), b.lower())
## HELLO world!
a = " Hello World! "
print(a.lstrip())
## Hello World! # 오른쪽에 두 칸 공백 남아있음
print(a.rstrip())
## Hello World! # 왼쪽에 두 칸 공백 남아있음
print(a.strip())
## Hello World! # 공백 없음
a = "Hello World!"
print(a.split('W'))
## ['Hello ','orld!'
print(a.split())
## ['Hello','World!']