공부하기
[파이썬] 문자열 변경
빛나다00
2025. 6. 1. 11:52
🔄 파이썬에서 문자열 변경하기: replace() 함수 하나로 충분하다!
원본은 그대로, 바꿔서 새로 만들자!
파이썬에서 문자열을 다룰 때, 특정 단어나 문장을 다른 내용으로 바꾸고 싶은 상황, 자주 있으시죠?
예를 들어 "Hello, Java"를 "Hello, Python"으로 바꿔야 한다면 어떻게 할까요?
이럴 때 바로 replace() 함수를 사용하면 됩니다.
오늘은 이 replace() 하나에 집중해서, 문자열 변경의 모든 것을 쉽고 자세히 알려드릴게요.
🧠 문자열은 "불변"이다!
먼저 알아둘 점은 파이썬에서 문자열은 immutable(변경 불가) 하다는 점입니다.
text = "hello"
text[0] = "H" # ❌ 오류 발생!
→ 문자 하나를 직접 바꾸는 건 불가능해요.
그래서 문자열을 바꿀 때는 기존 문자열을 기반으로 '새로운 문자열'을 생성해야 합니다.
replace() 함수는 바로 그 역할을 합니다.
✅ 기본 문법
문자열.replace(기존문자, 새문자)
- 기존문자: 바꾸고 싶은 문자열
- 새문자: 바꾼 후 새로 들어갈 문자열
📌 간단한 예제
text = "I love Java"
new_text = text.replace("Java", "Python")
print(new_text) # I love Python
- "Java"라는 단어가 "Python"으로 바뀌었죠?
- 원본 문자열 text는 변하지 않고, 새로운 문자열 new_text가 생성됩니다.
🔁 여러 번 바꾸기
replace()는 일치하는 모든 문자열을 한꺼번에 바꿉니다.
text = "apple banana apple"
print(text.replace("apple", "orange")) # orange banana orange
🔢 바꾸는 횟수 제한하기
replace()에는 세 번째 인자를 줄 수 있습니다.
바꾸는 횟수를 제한하고 싶을 때 사용합니다.
text = "one one one"
print(text.replace("one", "two", 2)) # two two one
🧪 실전 예제
✅ 1. 이메일 도메인 바꾸기
email = "user@example.com"
print(email.replace("example.com", "gmail.com")) # user@gmail.com
✅ 2. 전화번호 하이픈 제거
number = "010-1234-5678"
print(number.replace("-", "")) # 01012345678
✅ 3. 민감한 단어 필터링
comment = "이 제품은 별로야"
cleaned = comment.replace("별로야", "좋아요")
print(cleaned) # 이 제품은 좋아요
❗ 주의할 점
주의사항 | 설명 |
원본 문자열은 바뀌지 않는다 | 항상 새로운 문자열이 반환됨 |
대소문자 구분함 | "Python".replace("python", "JAVA") → 변경 안 됨 |
정규식은 안 됨 | replace()는 단순한 문자 치환만 가능 (복잡한 조건은 re.sub() 사용) |
📌 요약 정리
기능 | 사용법 | 예시 결과 |
전체 치환 | replace("a", "b") | "abcabc" → "bbcbbc" |
일부 치환 | replace("a", "b", 1) | "aaa" → "baa" |
대소문자 구분 | "A".replace("a", "b") | 그대로 "A" |
🏁 마무리
파이썬에서 문자열을 바꾸는 가장 쉽고 강력한 방법이 바로 replace() 함수입니다.
복잡한 문자열 변경이 아니라면 대부분의 작업은 replace() 하나로 충분히 해결할 수 있어요.
문자열을 다룰 일이 있다면, 오늘부터 replace()를 자주 활용해보세요!
원본은 그대로 두고, 원하는 대로 바꾼 새로운 문자열을 얻을 수 있습니다.