문자열에 포함된 특정 문자를 다른 문자로 일괄 변경해야 하는 경우가 종종 있습니다. 예를 들어 문자열 안의 모든 'a'를 '$'로 바꾸고 싶다면, 문자열을 한 글자씩 순회하면서 조건에 맞는 문자만 교체하고 += 연산자로 새 문자열을 이어 붙이는 방식으로 구현할 수 있습니다.
아래는 그 동작 과정을 보여주는 예제입니다.
예제 코드
my_str = "Jane Will Rob Harry Fanch Dave Nancy"
changed_str = ''
for char in range(0, len(my_str)):
if(my_str[char] == 'a'):
changed_str += '$'
else:
changed_str += my_str[char]
print("원본 문자열 :")
print(my_str)
print("변경된 문자열 : ")
print(changed_str)실행 결과
원본 문자열 : Jane Will Rob Harry Fanch Dave Nancy 변경된 문자열 : J$ne Will Rob H$rry F$nch D$ve N$ncy
코드 설명
먼저 하나의 문자열을 정의하고 콘솔에 출력합니다.
변경 결과를 담기 위한 빈 문자열도 함께 준비합니다.
인덱스를 기준으로 문자열을 처음부터 끝까지 순회하면서, 글자가 'a'와 일치하면 '$'로 대체합니다.
'a'가 아닌 문자는 원래 그대로 유지됩니다.
모든 순회가 끝난 뒤 최종 결과물을 콘솔에 출력합니다.
참고: 더 간단한 방법
사실 파이썬에서는 내장 메서드 str.replace()를 사용하면 위 과정을 한 줄로 처리할 수 있습니다.
my_str = "Jane Will Rob Harry Fanch Dave Nancy"
changed_str = my_str.replace('a', '$')
print(changed_str) # J$ne Will Rob H$rry F$nch D$ve N$ncy반복문 방식은 문자 처리 로직을 직접 제어할 수 있다는 장점이 있고, replace() 방식은 코드가 간결하고 실행 속도도 빠르다는 장점이 있습니다. 상황에 맞게 선택해서 사용하면 됩니다.