Go에서 `strings.Replace`를 사용하여 부분 문자열을 대체하는 방법
Mar 01, 2025
# Go
Wenhao Wang
Dev Intern · Leapcell

Key Takeaways
strings.Replace
함수는 대소문자를 구분하여 부분 문자열을 대체할 수 있습니다.n
을-1
로 설정하면 모든 항목이 대체됩니다.strings.NewReplacer
를 사용하면 여러 부분 문자열을 효율적으로 대체할 수 있습니다.
Go 프로그래밍에서 strings
패키지는 문자열 내에서 지정된 부분 문자열의 항목을 대체하는 Replace
함수를 제공합니다. 함수 서명은 다음과 같습니다.
func Replace(s, old, new string, n int) string
여기서:
s
는 원래 문자열입니다.old
는 대체될 부분 문자열입니다.new
는old
를 대체할 부분 문자열입니다.n
은 대체할 겹치지 않는 인스턴스 수를 지정합니다.n
이 0보다 작으면 모든 항목이 대체됩니다.
사용 예:
package main import ( "fmt" "strings" ) func main() { original := "Hello, World! Hello, Golang!" // 모든 항목 대체 result := strings.Replace(original, "Hello", "Hi", -1) fmt.Println(result) // 출력: Hi, World! Hi, Golang! // 첫 번째 항목 대체 result := strings.Replace(original, "Hello", "Hi", 1) fmt.Println(result) // 출력: Hi, World! Hello, Golang! // 처음 두 항목 대체 result := strings.Replace(original, "Hello", "Hi", 2) fmt.Println(result) // 출력: Hi, World! Hi, Golang! }
대소문자 구분:
Replace
함수는 대소문자를 구분합니다. 예를 들어:
package main import ( "fmt" "strings" ) func main() { original := "Hello, World! HELLO, Golang!" // "hello" (소문자) 대체 시도 result := strings.Replace(original, "hello", "Hi", -1) fmt.Println(result) // 출력: Hello, World! HELLO, Golang! }
이 경우 "hello"는 "Hello" 또는 "HELLO"와 일치하지 않으므로 대체가 발생하지 않습니다.
여러 부분 문자열 대체:
여러 번 대체하려면 strings
패키지에서 Replacer
유형을 제공합니다.
package main import ( "fmt" "strings" ) func main() { original := "Hello, World! Hello, Golang!" replacer := strings.NewReplacer("Hello", "Hi", "World", "Earth") result := replacer.Replace(original) fmt.Println(result) // 출력: Hi, Earth! Hi, Golang! }
Replacer
는 문자열 내에서 효율적이고 읽기 쉬운 여러 부분 문자열 대체가 가능합니다.
strings.Replace
함수와 Replacer
유형을 활용하여 Go 개발자는 애플리케이션에서 문자열 대체를 효과적으로 관리할 수 있습니다.
FAQs
strings.Replace(s, old, new, -1)
을 사용하십시오.
예, old
의 정확한 일치 항목만 대체합니다.
여러 번 대체하려면 strings.NewReplacer
를 사용하십시오.
Go 프로젝트 호스팅을 위한 최고의 선택, Leapcell입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하십시오.
무료로 무제한 프로젝트 배포
- 사용량에 대해서만 지불하십시오. 요청이나 요금이 없습니다.
탁월한 비용 효율성
- 유휴 요금 없이 사용량에 따라 지불합니다.
- 예: $25는 평균 응답 시간 60ms로 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 손쉬운 설정을 위한 직관적인 UI.
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합.
- 실행 가능한 통찰력을 위한 실시간 메트릭 및 로깅.
손쉬운 확장성 및 고성능
- 높은 동시성을 쉽게 처리하기 위한 자동 확장.
- 운영 오버헤드가 없으므로 구축에만 집중하십시오.
설명서에서 자세히 알아보세요!
X에서 팔로우하세요: @LeapcellHQ