도순씨의 코딩일지

파이썬 :: 문자열 관련 함수 본문

𝐏𝐑𝐎𝐆𝐑𝐀𝐌𝐌𝐈𝐍𝐆/𝐏𝐘𝐓𝐇𝐎𝐍

파이썬 :: 문자열 관련 함수

도순씨 2020. 7. 15. 00:06

1. 문자 개수 세기(count)

a = "Hello world"
print(a.count('l'))

말 그대로 문자열 안에 특정 문자의 개수가 몇 개인지 카운트해주는 함수이다.

"Hello world"의 경우에는 l이 3개 포함되어 있기 때문에 3이 출력된다.

대소문자를 구별하므로 print(a.count('h'))의 결과는 0이다.

 

2. 위치 알려주기 1 (find)

a = "Hello world"
print(a.find('o'))

인덱싱 개념을 모른다면 인덱싱에 관련된 설명을 읽고 오는 것을 추천한다.

간단하게 설명하자면 H을 0으로 지정하고 이를 기준으로 e를 1, l을 2로 매기는 것이다.

find 함수는 인덱스를 반환하고 만약 해당 문자가 없는 경우에는 -1을 반환한다.

그리고 해당 문자가 문자열에 많이 존재한다면 가장 앞 인덱스를 반환한다.

예를 들어 print(a.find('l'))의 결과는 2이다.

 

3. 위치 알려주기 2 (index)

a = "Hello world"
print(a.index('o'))

이 함수 역시 위치 인덱스를 반환한다. 따라서 결과는 위와 같이 4이다.

그렇다면 find 함수와 다른 점은 무엇일까?

find 함수는 존재하지 않는 값이 제시돼도 오류가 발생하지 않고 -1을 발생하지 않는다

하지만 index 함수에 존재하지 않는 값을 제시하면 어떻게 될까?

 

a = "Hello world"
print(a.index('a'))
Traceback (most recent call last):
  File "/Users/hansubin/Desktop/200117.py", line 2, in <module>
    print(a.index('a'))
ValueError: substring not found

오류가 발생한다. 따라서 오류가 발생할 수 있는 상황에서는 index 대신 find를 사용해야 한다.

 

4. 문자열 삽입 (join)

a = ","
a = a.join("Hello world")
print(a)
H,e,l,l,o, ,w,o,r,l,d

join 함수는 join문자열 사이사이에 ',' 가 삽입된다.

 

5. 소문자를 대문자로 변환(upper) & 대문자를 소문자로 변환(lower)

a = "hello world"
a = a.upper()
print(a)
HELLO WORLD

 

a = "hello world"
a = a.lower()
print(a)
hello world

upper는 소문자를 대문자로 변환하는 함수이다. 대문자가 상위개념이라고 가정하고 위로 바꿔준다! 라고 외우면 쉽다

반대로 lower는 대문자를 소문자로 변환하는 함수이다.

 

6. 왼쪽 공백 지우기(lstrip) & 오른쪽 공백 지우기(rstrip) & 양쪽 공백 지우기(strip)

a = "   Hello world"
a = a.lstrip()
print(a)

왼쪽 공백 지우기는 왼쪽에 공백이 있다면 모두 지워버리는 함수이다

 

a = "Hello world   "
a = a.rstrip()
print(a)

오른쪽 공백 지우기는 오른쪽에 공백이 있다면 지워주는 함수이다

 

a = "   Hello world   "
a = a.strip()
print(a)

공백 지우기는 오른쪽과 왼쪽의 공백을 모두 삭제해준다.

자바의 trim 함수와 비슷하다. (정말) 심심하다면 strip 함수를 직접 구현해보는 것도 추천한다

 

7. 문자열 바꾸기(replace)

a = "Hello world"
a = a.replace("world", "sally")
print(a)

replace는 문자열 내 특정 문자열을 바꾸어주는 함수이다.

replace(a, b)라고 하면 a를 b로 바꾸어준다.

 

8. 문자열 나누기(split)

a = "Hello world"
a = a.split()
print(a)

split()안에 아무 값도 넣지 않으면 공백을 기준으로 리스트에 각각 저장된다.

만약 특정한 값을 넣으면 그 값을 기준으로 리스트에 저장된다.

Comments