replace('바꿀문자열', '새문자열')
>>> s = 'Hello, world!'
>>> s = s.replace('world!', 'Python')
>>> s # 할당해야지만 바뀐 결과가 유지된다.
'Hello, Python'
str.maketrans('바꿀문자', '새문자')와 translate(테이블)
>>> table = str.maketrans('aeiou', '12345') #a를 1 e를 2 ... 로 바꿈
>>> 'apple'.translate(table)
'1ppl2'
split('기준문자열')
join(리스트)
>>> '-'.join(['apple', 'pear', 'grape', 'pineapple', 'orange'])
# '' 안에 문자열 사이에 들어올 문자 지정 가능
'apple-pear-grape-pineapple-orange'
upper()
lower()
strip()
왼쪽 공백 삭제 : lstrip() 오른쪽 공백 삭제 : rstrip()
strip('특정문자')
왼쪽, 오른쪽 특정문자 삭제는 방법 동일
ljust(길이)
>>> 'python'.ljust(10)
'python ' # 빈 칸만큼 공백으로 채워진다.
오른쪽 정렬하기 : rjust(길이)
center(길이)
zfill(길이) - zero fill을 의미
find('찾을문자열') 왼쪽에서부터 찾는다.
오른쪽부터 찾기는 rfind('찾을문자열')
>>> 'apple pineapple'.find('pl')
2
>>> 'apple pineapple'.find('xy')
-1
#없는 문자일 경우 -1 반환
index('찾을문자열')도 왼쪽에서부터 찾아 인덱스를 반환한다. rindex('찾을문자열)은 오른쪽부터 찾는다.
count('문자열')
'%s' % '문자열
>>> 'I am %s.' % 'james'
'I am james.
#변수 지정 가능
>>> name = 'maria'
>>> 'I am %s.' % name
'I am maria.'
'%d' % 숫자
%d는 10진 정수 decimal integer의 d이다.
>>> 'I am %d years old.' % 20
'I am 20 years old.'
'%f' % 숫자, (소수점 이하 자리 수 지정 : '%.자릿수f' % 숫자)
%f는 기본적으로 소수점 이하 6자리까지 표시하므로 2.3은 2.300000으로 표시된다.
>>> '%f' % 2.3
'2.300000'
>>> '%.2f' % 2.3
'2.30'
>>> '%.3f' % 2.3
'2.300'
%길이s (오른쪽으로 정렬한다.) 왼쪽 정렬 : %-길이s
>>> '%10s' % 'python'
' python'
자릿수가 다른 숫자 출력하기
# %길이d >> '%10d' % 150 ' 150' >> '%10d' % 15000 ' 15000'
# %길이.자릿수f >> '%10.2f' % 2.3 ' 2.30' >> '%10.2f' % 2000.3 ' 2000.30'
'%d %s' % (숫자, '문자열')
>>> 'Today is %d %s.' % (3, 'April')
'Today is 3 April.'
{}안에 인덱스를 지정해 순서, 중복 출력 등을 정할 수 있다.
>>> 'Hello, {} {} {}'.format('Python', 'Script', 3.6)
'Hello, Python Script 3.6'
인덱스 대신 이름을 지정할 수도 있다.
>>> 'Hello, {language} {version}'.format(language='Python', version=3.6)
'Hello, Python 3.6'
문자열 포매팅에 변수를 그대로 사용할 수 있다. 문자열 앞에 f를 붙인다.
>> language = 'Python'
>>> version = 3.6
>>> f'Hello, {language} {version}'
'Hello, Python 3.6'
'{인덱스:<길이}'.format(값)
< 왼쪽 정렬, > 오른쪽 정렬
>>> '{0:<10}'.format('python') # 인덱스0 생략 가능
'python '
'%0개수d' % 숫자, '{인덱스:0개수d'}'.format(숫자)
>>> '%03d' % 1
'001'
>>> '{0:03d}'.format(35)
'035'
실수도 맞출 수 있다. 소수점 이하 자릿수를 지정하고 싶으면 .뒤에 지정한다.
>>> '%08.2f' % 3.6
'00003.60'
>>> '{0:08.2f}'.format(150.37)
'00150.37'
>>> '{0: >10}'.format(15) # 남는 공간을 공백으로 채움
' 15'
>>> '{0:>10}'.format(15) # 채우기 부분을 생략하면 공백이 들어감
' 15'
>>> '{0:x>10}'.format(15) # 남는 공간을 문자 x로 채움
'xxxxxxxx15'