[go] 문자열에서 숫자만 추출

가끔씩 문자열에서 숫자만 추출해야 하는 경우가 있습니다. 이를 위해 Go 언어에서는 몇 가지 방법을 사용할 수 있습니다.

1. 정규 표현식 사용

package main

import (
	"fmt"
	"regexp"
)

func main() {
	str := "a1b2c3"
	re := regexp.MustCompile("[0-9]+")
	numbers := re.FindAllString(str, -1)
	for _, num := range numbers {
		fmt.Println(num)
	}
}

이 코드는 문자열에서 숫자만을 추출하기 위해 정규 표현식을 사용합니다. FindAllString 함수는 정규 표현식에 맞는 모든 부분을 찾아서 반환합니다.

2. 루프를 통한 추출

package main

import (
	"fmt"
	"strings"
	"unicode"
)

func main() {
	str := "a1b2c3"
	var numbers string
	for _, char := range str {
		if unicode.IsDigit(char) {
			numbers += string(char)
		}
	}
	fmt.Println(numbers)
}

이 코드는 문자열을 루프를 통해 순회하면서, 숫자인 경우에만 따로 변수에 저장하는 방식을 사용했습니다.

결론

여러 방법을 통해 문자열에서 숫자만을 추출할 수 있습니다. 실제 상황에 따라 가장 효율적이거나 읽기 쉬운 방법을 선택하는 것이 좋습니다.