더북(TheBook)

8.1.4 replace( )로 부분 문자열 바꾸기

자녀가 제일 좋아하는 과일에 대한 작문 숙제를 사과로 작성했다고 하자. 그런데 숙제를 제출해야 하는 당일 아침에 갑자기 사과가 아니라 배가 좋다고 한다. 이럴 때 아이의 작문 전체를 문자열로 넣고 ‘사과’를 ‘배’로 바꾸면 쉽게 문제를 해결할 수 있다.

유용한 문자열 연산 중 마지막은 바로 어떤 부분 문자열을 다른 문자열로 바꿔주는 연산이다. 바꿔치기 연산도 앞에서 다뤘던 다른 연산과 마찬가지로 문자열에 작용하지만, 괄호 안에 아이템이 1개가 아니라 2개 들어간다. 그래서 두 아이템 사이에 콤마(,)를 넣어야 한다. 첫 번째 아이템은 문자열에서 찾아내야 할 부분 문자열이고, 두 번째 아이템은 찾아낸 부분 문자열을 대치할 새 문자열이다. 이 명령은 대상 문자열 안에 들어 있는 모든 부분 문자열을 바꿔준다. 예를 들어 "variables have no spaces".replace(" ", "_")"variables have no spaces" 안에 있는 모든 공백을 밑줄로 바꿔 "variables_have_no_spaces"로 바뀐다.

셀프 체크 8.4

a = "Raining in the spring time. 미세먼지 안녕!"일 때 다음 식의 결과는 무엇일까? 생각한 대로 결과가 나오는지 스파이더에서 직접 실행해 보자.

1. a.replace("R", "r")

2. a.replace("ing", "")

3. a.replace("!", ".")

4. b = a.replace("time","tiempo")

5. a.reploace("안녕!","Bye!")

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.