[go] 문자열에서 특정 값으로 채우기

Go 언어에서는 문자열의 특정 위치를 특정 값으로 채울 때 사용할 수 있는 방법이 있습니다. 이것은 문자열을 조작하거나 특정 패턴을 변경할 때 유용합니다. 이 글에서는 이러한 작업을 수행하는 방법을 살펴보겠습니다.

strings 패키지 활용

Go 언어에서는 문자열 조작에 유용한 strings 패키지를 제공합니다. 이 패키지에는 문자열을 조작하고 처리하는데 사용할 수 있는 여러 함수가 제공됩니다. 그 중에서도 Replace 함수는 문자열의 일부를 다른 값으로 채울 때 유용합니다.

package main

import (
	"fmt"
	"strings"
)

func main() {
	str := "hello, world"
	newStr := strings.Replace(str, "world", "gopher", 1)
	fmt.Println(newStr) // 출력: hello, gopher
}

위의 예제에서는 strings 패키지의 Replace 함수를 사용하여 문자열 str 에서 “world”를 “gopher”로 대체하였습니다. 이 때, 두 번째 파라미터는 대체될 문자열이고, 세 번째 파라미터는 대체할 횟수를 나타냅니다. 이렇게하면 첫 번째 발견되는 “world”만 “gopher”로 바뀝니다.

정규 표현식 사용

때로는 특정 패턴을 가진 문자열을 대체해야 할 때도 있습니다. 이때는 정규 표현식을 사용하는 것이 유용합니다. Go 언어에서는 regexp 패키지를 통해 정규 표현식을 활용할 수 있습니다.

package main

import (
	"fmt"
	"regexp"
)

func main() {
	str := "Hello 123 World"
	re := regexp.MustCompile("[0-9]+")
	newStr := re.ReplaceAllString(str, "*****")
	fmt.Println(newStr) // 출력: Hello ***** World
}

위의 예제에서는 regexp 패키지를 사용하여 숫자를 "*"로 대체하였습니다. 정규 표현식 “[0-9]+”는 하나 이상의 숫자를 나타내며, ReplaceAllString 함수를 통해 해당 패턴을 찾아 대체하고 있습니다.

마치며

Go 언어에서 문자열의 특정 값을 대체하거나 채우는 방법에 대해 알아보았습니다. strings 패키지의 Replace 함수와 정규 표현식을 사용하여 다양한 문자열 조작 작업을 수행할 수 있습니다. 이러한 기능들을 적절히 활용하여 원하는 문자열 처리를 쉽게 수행할 수 있습니다.