1.문자열 조작하기
| 메소드 | 설명 |
|---|
| replace('바꿀문자열', '새문자열') | 문자열 안의 문자열을 다른 문자열로 바꿈 |
| translate(테이블) | 문자열 안의 문자를 다른문자로 바꿈 srt.maketrans('바꿀문자', '새문자') 의 변환 테이블을 만들어야 함 |
| split() | 공백을 기준으로 문자열을 분리하여 리스트로 만듦 |
| join(리스트) | 구분자 문자열과 문자열 리스트(튜플)의 요소를 연결하여 문자열로 만듦 |
| upper(), lower() | upper는 문자열의 문자를 대문자로 바꾸고 lower는 소문자로 바꿈 |
| lstrip(), rstrip(), strip() | lstrip은 문자열에서 왼쪽 공백을 삭제 rstrip은 오른쪽 공백을 삭제 strip은 양쪽 공백 삭제 |
| ljust(길이), rjust(길이), center(길이) | 문자열을 지정된 길이로 만든 뒤 왼쪽 / 오른쪽 / 가운데로 정렬하여 남는 공간은 공백으로 채움 |
| zfill() | 지정된 길이에 맞춰서 문자열의 왼쪽에 0을 채움 |
| find('찾을문자열') | find는 왼쪽에서부터, rfind는 오른쪽에서부터 특정 문자열을 찾아서 인덱스 반환 |
| index('찾을문자열') | index는 왼쪽에서부터, rindex는 오른쪽에서부터 특정 문자열을 찾아서 인덱스 반환 |
| count('문자열') | 현재 문자열에서 특정 문자열이 몇 번 나오는지 알아냄 |
2.문자열 바꾸기 replace()
.replace('바꿀문자열','새문자열')
"Hello, world!" ,replace('world', 'Python')
3.문자열 분리하기 split()
.split('기준문자열')
"apple pear grape pineapple orange".split()
4.구분자 문자열과 문자열 리스트 연결하기 join()
'구분자'.join()
''.join(['apple', 'pear', 'grape', 'pineapple', 'orange'])
5.소문자를 대문자로 바꾸기 upper()
'python'.upper()
6.대문자를 소문자로 바꾸기 lower()
'PYTHON'.lower()
7.공백 삭제하기 strip()
# 왼쪽 공백 삭제 lstrip
' Python '.lstrip()
# 오른쪽 공백 삭제 rstrip
' Python '.rstrip()
# 양쪽 공백 삭제 strip
' Python '.strip()
8.특정 문자 삭제하기 strip('삭제할문자')
# 왼쪽의 특정문자삭제
',python.'.lstrip(',.')
# 오른쪽의 특정문자삭제
',python.'.rstrip(',.')
# 양쪽의 특정문자삭제
',python.'.strip(',.')
9.문자열 정렬하기 just(길이) center(길이)
# 왼쪽 정렬
'python'.ljust(10)
# 오른쪽 정렬
'python'.rjust(10)
# 가운데 정렬
'python'.center(10) # 문자열로 지정된 길이로 만든 뒤 가운데 정렬하며 남는 공간 공백 채움
10.메소드 체이닝
'pyton'.rjust(10).upper()
10-1.문자열 왼쪽에 0 채우기 zfill(길이)
'35', .zfil(4) # 숫자 앞에 0을 채움
10-2.문자열 위치 찾기 find('찾을문자열')
- 특정 문자열을 찾아서 인덱스를 반환, 문자열이 없으면 -1 반환
- 왼쪽에서부터 문자열을 찾고 같은 문자열이 여러 개 일 경우 처음 찾은 문자열의 인덱스를 반환
# 문자열 위치 찾기 .find
'apple pineapple'.find('pl')
# 오른쪽에서 문자열 위치 찾기 .rfind
'apple pineapple'.rfind('pl')
10-3.문자열 위치 찾기 index('찾을문자열')
- 왼쪽에서부터 특정 문자열을 찾아서 인덱스 반환
- 문자열이 없으면 에러 발생
# 문자열 위치 찾기 .index
'apple pineapple'.find('pl')
# 오른쪽에서 문자열 위치 찾기 .rfind
'apple pineapple'.rindex('pl')
10-4.문자열 개수 세기 count('문자열')
# 특정 문자열 개수 찾기
'apple pineapple'.count('pl')
- 문자열 안에서 특정 부분을 원하는 값으로 바꿀 때 포매팅 사용
11-1.서식 지정자 % 사용하기
'%s' %'문자열'
'%d' %숫자
'%f' %숫자
'%.자릿수f' %숫자
%길이s
%-길이s
'%d %s' %(숫자, '문자열')
# 문자열 넣기 %s
name = 'maria'
'I am %s.' %name
# 정수 넣기 %d
'I am %d years old.' %20
# 실수 넣기 %f
'%f' %2.3 # %f는 기본적으로 소수점 이하 6자리까지 표시
'%.3f' %23
# %길이s
'%10s' %'python' # 문자열길이를 해당 숫자만큼 만든 뒤 문자열을 넣고 오른쪽 정렬
# %-길이s
'%-10s' %'python' # 문자열길이를 해당 숫자만큼 만든 뒤 문자열을 넣고 왼쪽 정렬
#'%d %s' %(숫자, '문자열')
'Today in %d %s' %(3, 'April')
'{}'.format(값)
'{인덱스}{인덱스}{인덱스}'.format(값, 값, 값)
'{name}{number}'.format(name=값, number=값)
'Hello, {}'.format('world!')
'Hello, {0}{2}{1}'.format('python', 'script', 3.6)
'Hello, {name}{number}'.format(name='python', number=3.6)
'{인덱스:<길이}'.format(값) # 왼쪽 정렬
'{인덱스:>길이}'.format(값) # 오른쪽 정렬
'{0:<10}'.foramt('python') # 왼쪽 정렬
'{0:>10}'.foramt('python') # 오른쪽 정렬
11-4.0을 넣어서 숫자 개수 맞추기
# 정수
'%0개수d' % 숫자
'{인덱스:0개수d'}'.format(숫자)
# 실수
'%0개수.자릿수f' % 숫자
'{인덱스:0개수.자릿수f'}'.format(숫자)
'%03d' % 1
'{0:03d'}'.format(35)
'%08.2f' % 3.6
'{0:08.2f'}'.format(150.37)
11-5.금액에서 천단위로 콤마 넣기
.format(숫자,',')
format(1493500,',')