import string
# replace('바꿀 문자열', '새 문자열') 은 문자열 안의 문자열을 다른 문자열로 바꾼다.
print('Hello world'.replace('world', 'python'))
# str.maketrans('바꿀 문자', '새 문자') 로 변환 테이블을 만들고
# translate(테이블) 을 이용해 문자열 안의 문자를 다른 문자로 바꾼다.
table = str.maketrans('aeiou', '12345')
print('apple'.translate(table))
# split()은 공백 기준으로 문자열을 분리하여 리스트로 만든다.
print('I am Park Ji Weon'.split())
# split('기준 문자열') 은 기준 문자열로 문자열로 분리한다.
print('apple, pear, grape, pineapple, orange'.split(', '))
# join(리스트) 는 구분자 문자열과 문자열 리스트의 요소를 연결해 문자열로 만든다.
print(' '.join(['a', 'b', 'c', 'd', 'e']))
print('-'.join(['a', 'b', 'c', 'd', 'e']))
# upper()은 문자열의 문자를 모두 대문자로 바꾼다.
print('python'.upper())
# lower()은 문자열의 문자를 모두 소문자로 바꾼다.
print('PYTHON'.lower())
# lstrip()을 이용해 문자열의 왼쪽 공백 삭제가 가능하다.
print(' abcd '.lstrip())
# rstrip()을 이용해 문자열의 오른쪽 공백 삭제가 가능하다.
print(' abcd '.rstrip())
# strip()을 이용해 문자열에서 양쪽에 있는 공백 삭제가 가능하다.
print(' abcd '.strip())
# 각각의 메소드 안에 삭제할 문자열을 넣어 왼쪽/오른쪽/양쪽의 삭제할 문자가 삭제된다.
print(', abcd.'.lstrip(',.'))
print(', abcd.'.rstrip(',.'))
print(', abcd.'.strip(',.'))
# string모듈의 punctuation에는 모든 구두점이 들어있다.
# '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
print(', abcd.'.strip(string.punctuation))
# ljust, rjust는 왼쪽, 오른쪽에 문자열을 정렬하고 남는 공간을 공백으로 채운다.
print('python'.ljust(10))
print('python'.rjust(10))
# center로 문자열을 가운데 정렬하고 남는 공간을 공백으로 채울 수 있다.
# 남는 공간이 홀수가 될 경우에는 왼쪽에 공백이 한 칸 더 들어간다.
print('python'.center(10))
# 문자열 메소드는 처리한 결과를 반환한다.
# 이를 이용해 메소드를 계속 연결해 호출하는 것을 메소드 체이닝(method chaining)이라고 한다.
print('python'.rjust(10).upper())
# zfill(길이) 를 이용해 지정된 길이에 맞춰서 왼쪽에 0을 채울 수 있다.
# 문자열의 길이보다 지정된 길이가 작으면 아무것도 채우지 않는다.
# 보통 zfill은 숫자를 일정 자릿수로 맞추고 앞자리를 0으로 채울 때 사용
print('35'.zfill(4))
print('3.5'.zfill(6))
print('hello'.zfill(10))
# find('찾을 문자열')은 문자열에서 특정 문자열 찾아서 인덱스 반환하고, 없으면 -1을 반환
# 왼쪽에서부터 찾는데, 같은 문자열이 여러개면 처음 찾은 문자열의 인덱스 반환
# 오른쪽에서부터 찾고싶다면 rfind('찾을 문자열')을 하면 된다.
print('apple pl pl pl'.find('pl'))
print('apple pl pl pl'.rfind('pl'))
print('apple pl pl pl'.find('asdf'))
# find, rfind 외에도 index, rindex를 통해 특정 문자열의 위치를 찾을 수 있다.
# 그런데, 이 경우에는 찾는 문자열이 존재하지 않으면 에러를 발생시킨다.
print('apple pl pl pl'.index('pl'))
print('apple pl pl pl'.rindex('pl'))
# count('문자열')은 특정 문자열이 몇 번 나오는지 센다.
print('apple pl pl pl'.count('pl'))
Leave a comment