문자열과 관련된 함수들을 정리하였다.
1. 문자 개수 세기 ( count )
문자열에서 특정 문자의 개수를 반환한다.
다음은 "Hello world. I'll study python!"
이라는 문자열에서 알파벳 o 의 개수를 반환한다.
a="Hello world. I'll study python!"
a.count('o')
#3
2. 문자열 길이 세기 ( len )
특정 문자열의 전체 길이를 반환한다.
다음은 "Hello world. I'll study python!"
이라는 문자열의 길이를 반환한다.
a="Hello world. I'll study python!"
len(a)
#31
3. 위치 알려주기1 ( find )
문자열에서 특정 문자 또는 문자열이 처음으로 나온 위치를 반환한다. 만약 찾는 문자 또는 문자열이 없는 경우 -1을 반환한다.
다음은 "Hello world. I'll study python!"
에서 ll의 위치를 반환한다.
a="Hello world. I'll study python!"
a.find('ll') #2
a.find('q') #-1 문자열에서 없는 문자는 -1을 리턴
4. 위치 알려주기2 ( index )
문자열에서 특정 문자 또는 문자열이 처음으로 나온 위치를 반환한다. 만약 찾는 문자 또는 문자열이 없는 경우 오류를 출력한다. 앞의 3번, find함수와 다른 점은 찾는 문자 또는 문자열이 없을 경우 -1이 아닌 오류를 출력하는 점이다.
a="Hello world. I'll study python!"
a.index('ll') #2
a.index('q') #ValueError: substring not found
5. 문자열 삽입 ( join )
문자열의 각각의 문자의 사이에 특정 문자를 삽입한다.
join함수는 리스트와 함께 쓰일 수 있는 함수이다.
다음은 name = ['John', 'Jane', 'Bro', 'Kai']
라는 리스트배열을 각각의 이름이 ','로 구분되는 하나의 문자열로 리턴해준다.
`name = ['John', 'Jane', 'Bro', 'Kai']`
','.join(name)
#'John,Jane,Bro,Kai'
6. 문자열 나누기 ( split )
문자열을 특정 문자를 기준으로 나누어 리스트로 반환한다.
split함수는 리스트와 함께 쓰일 수 있는 함수이다.
다음은 name='John, Jane, Bro, Kai'
문자열을 ','로 구분하여 리스트배열로 리턴해준다.
name='John, Jane, Bro, Kai'
string.split(',')
#['John', 'Jane', 'Bro', 'Kai']
다시말해, a.split()은 a라는 문자열을 나누는 것인데, split함수의 괄호가 비어있을 때는 default 값으로 공백을 기준으로 문자열을 나눈다.
7. 소문자를 대문자로 바꾸기 ( upper )
문자열에서 소문자들을 대문자로 바꾸어서 반환한다.
"hello, i'll be upper".upper()
#"HELLO, I'LL BE UPPER"
8. 대문자를 소문자로 바꾸기 ( lower )
문자열에서 대문자들을 소문자로 바꾸어서 반환한다.
"HELLO, I'LL BE LOWER".lower()
#"hello, i'll be lower"
9. 왼쪽 공백 지우기 ( lstrip )
문자열에서 가장 왼쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지운다.
" space ".lstrip()
#"space "
10. 오른쪽 공백 지우기 ( rstrip )
문자열에서 가장 오른쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지운다.
" space ".rstrip()
#" space"
11. 양쪽 공백 지우기 ( strip )
문자열에서 양쪽에 있는 한칸 이상의 연속된 공백들을 모두 지운다.
" space ".strip()
#"space"
12. 문자열 바꾸기 ( replace )
문자열내에서 특정 문자 또는 문자열을 지정된 문자 또는 문자열로 치환하여 반환한다.
original="My computer so slow, can I borrow your's?"
original.replace("computer","cell phone")
#"My cell phone so slow, can I borrow your's?"
13. 문자열 포매팅 ( format )
문자열을 포매팅 하는 방법은 지난 포스팅(파이썬 포맷팅 , 여러 가지 포맷팅 적용 방법 예제)에서 자세히 다루었다.
인덱스를 이용해서 문자를 대입할 수 있다. 물론 두 개 이상의 문자를 대입하는 것도 가능하다.
txt="I want some {0}, so I'll {1} out."
txt.format('cake','go')
#"I want some cake, so I'll go out."
인덱스가 아닌 변수명을 이용해서 문자를 대입할 수도 있다.
txt="My name is {name}."
txt.format(name="John")
#"My name is John."
format
함수는 문자열의 총 자릿수를 지정하고, 왼쪽, 오른쪽, 가운데 정렬도 가능하다.
"{0:<15}".format("SPACE")
#왼쪽정렬
#"SPACE "
"{0:>15}".format("SPACE")
#오른쪽정렬
#" SPACE"
"{0:^15}".format("SPACE")
#가운데정렬
#" SPACE "
'Python > Basic programming' 카테고리의 다른 글
파이썬 비트 연산자 (Bitwise Operators) (0) | 2020.03.15 |
---|---|
파이썬 연산자와 그에 대응하는 함수 (0) | 2020.03.15 |
리스트 한 줄에 출력하기 (0) | 2020.03.12 |
여러가지 formatting 방법 적용 예제 (0) | 2020.03.11 |
list 리스트 원소 형변환 (0) | 2020.03.10 |