본문 바로가기
  • 시 쓰는 개발자
프로그래밍 문법/Python 문법

문자열 replace

by poetDeveloper 2024. 3. 7.

파이썬 replace

문자열에서 replace('바꿀 문자', '이거로 바꿈', 변경 반복횟수) 라고 하면 문자열 내에서 일부를 통째로 원하는 문자로 변경 가능. 이거로 단어 개수 세거나 문자 길이를 늘리고 줄이고 할 수 있음. 변경 반복 횟수는 기본적으로 문자열 전체를 다루도록 설정되어있다.

str = "oxoxoxox"
star_string = str.replace("ox", "*")
strange_string = str.replace("ox", "*", 1) # 반복횟수가 1번이라서 앞에 한번만 변경된다.
print(star_string)
print(strange_string)

[출력]

****

*oxoxox

 

※ 주의사항

참고로, 문자열 내에서 특정 문자끼리 위치를 서로 바꾸고 싶을때는 replace를 사용하면 안된다. replace는 문자를 다른거로 대체하는 함수이지, 서로 바꾸는 함수가 아니다. 함수 이름때문에 그렇게 오해할 수도 있기 때문에 주의해야 한다. 이와 같은 상황일 때는 내가 찾아본 바로는 함수가 특별하게 있기보다는 그냥 파이썬만의 코드를 다음과 같이 작성한다.

s[i], s[i-1] = s[i-1], s[i]

이렇게 코드를 간단하게 작성해도 서로 문자가 바뀌는 것을 알 수 있다. c언어를 처음 배울 때는 값을 서로 바꿔야하는 상황에서 temp를 쓰도록 배웠지만, 파이썬은 그럴 필요 없이 이렇게 간단하게 바꿀 수 있다.