파이썬에서 문자열을 치환하는 방법을 알아보도록 하겠습니다.
문자열을 치환해주는 메서드로 replace가 있습니다.
대상 문자열에서 검색 문자를 지정하여 일치하는 문자가 있으면 원하는 문자로 바꿔줍니다.
replace
문자열.replace(“검색 문자”, “치환 문자” [, 치환 횟수])
검색 문자 – 문자열에서 찾을 문자를 지정
치환 문자 – 변경하고 싶은 문자
치환 횟수 – 치환 하고 싶은 횟수(생략 가능)
replace 예제
text = "일본의 부가세는 8% 입니다."
text_mod = text.replace("8","10")
print(text_mod)
결과
<strong>일본의 부가세는 10% 입니다.</strong>
text라는 변수에 설정한 문자열에서 8이라는 문자를 찾아 10으로 치환하였습니다.
replace 메서드는 일치하는 검색 문자와 일치하는 문자가 있는 경우 모두 변경합니다.
만약 제일 처음에 일치하는 문자만 치환하고 싶은 경우에는 3번째 파라미터인 치환 횟수를 지정해주면 됩니다.
text = "orange,orange,melon"
text_mod = text.replace("orange", "apple", 1)
print(text_mod)
결과
apple,orange,melon
가장 처음에 검색된 orange만 apple로 치환되고 두 번째 orange는 치환되지 않았습니다.
리스트 치환
리스트에 저장한 문자열을 replace를 사용하여 치환하는 방법을 보겠습니다.
리스트 replace 예제
list1 = ["apple", "orange", "melon", "banana"]
list2 = []
print("치환전:{0}".format(list1))
for item in list1:
#문자열 치환
item_mod = item.replace("apple", "orange")
# 새로운 리스트에 추가
list2.append(item_mod)
print("치환후:{0}".format(list2))
결과
치환전:['apple', 'orange', 'melon', 'banana']
치환후:['orange', 'orange', 'melon', 'banana']
리스트에 저장된 문자열 값을 for 문을 사용하여 하나씩 취득합니다.
취득한 문자열을 replace를 사용하여 원하는 문자로 치환했습니다.
댓글