문자열을 사용할 때 쓸만한 메소드를 소개할까 합니다.
문자열 메소드
upper(), lower()
이 메소드들은 각각 알파벳을 대/소문자로 변환하는 메소드입니다.
upper()는 대문자로, lower()는 소문자로 변환하여 반환해줍니다.
예를 들면
A = 'Hello, I am minsoo.'
B = A.upper()
C = A.lower()
print(B)
print(C)
출력 결과를 보시면 모두 대문자 혹은 소문자로 변환된 것을 확인할 수 있습니다.
이 메소드는 알파벳이 아닌 문자엔 사용할 수 없습니다.
startswith(), endswith()
각 메소드는 문자열 값이 각각 메소드에 전달된 문자열로
시작되거나 끝나면 True, 아니면 False를 반환하는 메소드입니다.
A = 'Hello, I am minsoo.'
print(A.startswith('Hello'))
print(A.endswith('Hello'))
print(A.startswith('minsoo.'))
print(A.endswith('minsoo.'))
각 출력 결과는 아래와 같습니다.
join(), split()
각 메소드는 문자열을 합치거나, 분할하기 위한 메소드입니다.
먼저 join() 메소드부터 알아보죠.
joint() 메소드는 문자열 리스트를 하나의 문자열 값으로 연결할 때 사용합니다.
A = ['Hello,', 'I', 'am', 'minsoo.']
A_join = ' '.join(A)
print(A_join)
위 코드는 A 리스트 안의 문자열을 join() 메소드를 사용하여
띄어쓰기로 연결한 모습입니다.
매개변수로 전달된 값이 각 리스트의 문자열 사이마다 들어가는 식이죠.
이 join()과 반대되는 역할을 하는 메소드가 split() 메소드입니다.
A = ['Hello,', 'I', 'am', 'minsoo.']
A_join = ' '.join(A)
print(A_join)
A_split = A_join.split()
print(A_split)
위 코드를 실행한 결과는 아래와 같습니다.
다시 리스트 A의 형태와 같아졌죠.
split() 메소드는 기본적으로 빈칸, 탭, 줄바꿈 등 공백을 기준으로
문자열을 나눕니다.
하지만 메소드 안에 매개변수를 입력하여 해당 매개변수를 기준으로 나눌 수도 있습니다.
A = ['Hello,', 'I', 'am', 'minsoo.']
A_join = ' @ '.join(A)
print(A_join)
A_split = A_join.split(' @ ')
print(A_split)
@ 문자를 넣어 join() 메소드로 합쳤다가, 다시 @를 기준으로 분리한 결과입니다.
split() 메소드는 , 줄바꿈 등을 기준으로 데이터를 나눌 때에 널리 사용합니다.
rjust(), ljust(), center()
rjust()와 ljust(), center() 메소드는
각각 문자열을 오른쪽/왼쪽/가운데로 정렬하는 메소드입니다.
정렬에는 기본으로 빈칸이 사용되지만, 특정 문자를 지정할 수도 있습니다.
A = '12345'.rjust(10,'-')
B = '12345'.ljust(10,'-')
C = '12345'.center(10,'-')
print(A)
print(B)
print(C)
세 메소드의 실행 결과를 한꺼번에 나타내었습니다.
첫번째 줄의 출력 결과는 오른쪽 정렬, 두번째 줄은 왼쪽 정렬입니다.
마지막 줄은 가운데 정렬입니다.
메소드의 매개변수를 10을 입력함으로써 총 길이 10의 문자열 안에서 정렬하도록 하였고,
알아보기 힘들 것 같아 추가로 '-' 문자열을 매개변수로 추가입력하였습니다.
그에 따라 기본적으로는 빈칸이 와야할 자리에 '-'가 5개 입력된 모습이네요.
그 중 가운데 정렬은 길이 5의 문자열을 10칸 내에 정렬하려다보니
앞엔 --, 뒤엔 ---가 와있네요.
숫자를 늘려보아도 항상 앞쪽이 1개가 적습니다. 참고하면 좋을 것 같습니다.
rstrip(), lstrip(), strip()
위에서 공백 또는 특정 문자열을 통해 정렬하는 메소드에 대해 알아봤다면
그를 없애는 메소드도 있겠죠?
그 메소드가 바로 strip() 메소드입니다.
이 메소드는 왼쪽, 오른쪽, 혹은 양옆에 있는 공백 혹은 문자열을 없애줍니다.
위에서 활용한 예제를 그대로 이어가보죠.
A = '12345'.rjust(10,'-')
B = '12345'.ljust(10,'-')
C = '12345'.center(10,'-')
print(A)
print(B)
print(C)
A_strip = A.lstrip('-')
B_strip = B.lstrip('-')
C_strip = C.lstrip('-')
print(A_strip)
print(B_strip)
print(C_strip)
위 코드를 실행한 결과는 아래와 같습니다.
'-'를 이용한 길이 10의 오른쪽/왼쪽/가운데 정렬로 정렬된
각각의 문자열을 lstrip() 메소드를 통해 왼쪽의 '-'만 없애봤습니다.
물론 여기서 '-'를 빼고 실행해도 '-'가 빈칸으로 대체될 뿐 결과는 같습니다.
여기까지 문자열을 다룰 때 유용한 메소드에 대해 알아보았습니다.
'프로그래밍 > Python' 카테고리의 다른 글
[Python] print() 함수 (0) | 2022.11.01 |
---|---|
[Python] 파일 경로 설정 (0) | 2021.06.14 |
[Python] 문자열 입력 방법 (0) | 2021.06.12 |
[Python] 데이터 유형: 사전(Dictionary) (0) | 2021.06.10 |
[Python] 리스트(list) 활용 - for문, 다양한 메소드 (0) | 2021.06.09 |