<문자열 바꾸기>
>>> table = str.maketrans('aeiou', '12345')
>>> 'apple'.translate(table)
'1ppl2'
<문자열 분리>
split()- 공백을 기준으로 문자열 분리하여 리스트 만든다.
>>> 'apple pear grape pineapple orange'.split()
['apple', 'pear', 'grape', 'pineapple', 'orange']
물론,()안에 ('기준문자열') 가능함
join(리스트)- 구분자 문자열과 문자열 리스트의 요소 연결
>>> ' '.join(['apple', 'pear', 'grape', 'pineapple', 'orange'])
'apple pear grape pineapple orange'
>>> '-'.join(['apple', 'pear', 'grape', 'pineapple', 'orange'])
'apple-pear-grape-pineapple-orange'
upper(): 소문자->대문자
>>> 'python'.upper()
'PYTHON'
lower(): 대문자->소문자
>>> 'PYTHON'.lower()
'python'
<공백 삭제>
i)왼쪽
lstrip(): 문자열 왼쪽에 있는 연속된 모든 공백 삭제
>>> ' Python '.lstrip()
'Python
ii)오른쪽
rstrip(): 문자열에서 오른쪽에 있는 연속된 모든 공백 삭제
>>> ' Python '.rstrip()
' Python'
iii)양쪽
strip(): 문자열에서 양쪽에 있는 연속된 모든 공백 삭제
>>> ' Python '.strip()
'Python'
<특정 문자 삭제>
i)왼쪽
lstrip('삭제할문자들')
ii)오른쪽
rstrip('삭제할문자들')
iii)양쪽
strip('삭제할 문자들')
<문자열 정렬>
i)왼쪽
ljust(길이): 문자열을 지정된 길이(칸)로 만든다.(왼쪽정렬)
>>> 'python'.ljust(10)
'python '
ii)오른쪽
rjust(길이): 문자열을 지정된 길이(칸)으로 만든다.(오른쪽정렬)
>>> 'python'.rjust(10)
' python'
iii)가운데
center(길이): 문자열을 지정된 길이로 만든 후 가운데 정렬
>>> 'python'.center(11)
' python '
->연속 채우기
>>> 'python'.rjust(10).upper()
' PYTHON
```'
<문자열 왼쪽에 0채우기>
zfill(길이): 지정된 길이에 맞춰서 문자열의 왼쪽0채움
<문자열 위치 찾기>
find('찾을문자') : 있으면 반환, 없으면 -1
'apple pineapple'.find('pl')
2
'apple pineapple'.find('xy')
-1
<오른쪽에서부터 문자열 위치 찾기>
rindex('찾을문자열'): 오른쪽에서부터 특정 문자열 찾아서 인덱스 반환.
'apple pineapple'.rindex('pl')
12
<문자열 개수 세기
count('문자열'): 현재 문자열에서 특정 문자열이 얼마나 나오나!!
'apple pineapple'.count('pl')
2
[문자열 만드는 법]
i)서식 지정자(format specifier)
ii)문자열 포매팅(string formatting) by format메서드
i]
서식지정자는 %로 시작하고 자료형을 뜻하는 문자가 붙음
1)s:string
-'%s' % '문자열'
'I am %s.' % 'james'
'I am james.'
2)d: 10진 정수
-'%d' % 숫자
'I am %d years old.' % 20
'I am 20 years old.'
3)f: 소수점
-'%f' % 숫자
>>> '%f' % 2.3
'2.300000'
<문자열 정렬>
%길이s
>>> '%10s' % 'python'
' python'
%10s는 문자열의 길이를 10으로 만든 뒤 지정된 문자열을 넣고 오른쪽으로 정렬합니다. 따라서 문자열 'python'은 길이가 6이므로 왼쪽 공간을 공백 4칸으로 채웁니다.
%-길이s
>>> '%-10s' % 'python'
'python '
%-10s는 문자열의 길이를 10으로 만든 뒤 지정된 문자열을 넣고 왼쪽으로 정렬합니다. 따라서 문자열 'python'은 길이가 6이므로 오른쪽 공간을 공백 4칸으로 채웁니다.
<서식 지정자로 문자열 안에 값 여러 개 넣기>
'%d %s' % (숫자, '문자열')
>>> 'Today is %d %s.' % (3, 'April')
'Today is 3 April.'
ii]
<format 메서드 사용>
-'{인덱스}'.format(값)
>>> 'Hello, {0}'.format('world!')
'Hello, world!'
>>> 'Hello, {0}'.format(100)
'Hello, 100'
<format 메서드로 값을 여러 개 넣기>
>>> 'Hello, {0} {2} {1}'.format('Python', 'Script', 3.6)
'Hello, Python 3.6 Script'
<format 메서드로 같은 값 여러 개 넣기>
>>> '{0} {0} {1} {1}'.format('Python', 'Script')
'Python Python Script Script'
<format 메서드에서 인덱스 생략>
>>> 'Hello, {} {} {}'.format('Python', 'Script', 3.6)
'Hello, Python Script 3.6'
<format 메서드에서 인덱스 대신 이름 지정>
>>> 'Hello, {language} {version}'.format(language='Python', version=3.6)
'Hello, Python 3.6'
<문자열 포매팅에 변수를 그대로 사용>
>>> language = 'Python'
>>> version = 3.6
>>> f'Hello, {language} {version}'
'Hello, Python 3.6'
<format메서드로 문자열 정렬>
-'{인덱스:<길이}'.format(값)
>>> '{0:<10}'.format('python')
'python '
-'{인덱스:>길이}'.format(값)
>>> '{0:>10}'.format('python')
' python'
<숫자 개수 맞추기>
- '%0개수d' % 숫자
- '{인덱스:0개수d'}'.format(숫자)
>>> '%03d' % 1
'001'
>>> '{0:03d}'.format(35)
'035'
-->%d는 다음과 같이 %와 d 사이에 0과 숫자 개수를 넣어주면 자릿수에 맞춰서 앞에 0이 들어갑니다. 즉, %03d로 지정하면 1은 '001', 35는 '035'가 됩니다. { }를 사용할 때는 인덱스나 이름 뒤에 :(콜론)를 붙이고 03d처럼 0과 숫자 개수를 지정하면 됩니다.
-'%0개수.자릿수f' % 숫자
-'{인덱스:0개수.자릿수f'}.format(숫자)
>>> '%08.2f' % 3.6
'00003.60'
>>> '{0:08.2f}'.format(150.37)
'00150.37'
<채우기와 정렬을 조합해서 사용하기>
-'{인덱스:[[채우기]정렬][길이][.자릿수][자료형]}'
>>> '{0:0<10}'.format(15) # 길이 10, 왼쪽으로 정렬하고 남는 공간은 0으로 채움
'1500000000'
>>> '{0:0>10}'.format(15) # 길이 10, 오른쪽으로 정렬하고 남는 공간은 0으로 채움
'0000000015'
>>> '{0:0>10.2f}'.format(15) # 길이 10, 오른쪽으로 정렬하고 소수점 자릿수는 2자리
'0000015.00'
>>> '{0: >10}'.format(15) # 남는 공간을 공백으로 채움
' 15'
>>> '{0:>10}'.format(15) # 채우기 부분을 생략하면 공백이 들어감
' 15'
>>> '{0:x>10}'.format(15) # 남는 공간을 문자 x로 채움
'xxxxxxxx15'