[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)
}
이 코드는 문자열을 루프를 통해 순회하면서, 숫자인 경우에만 따로 변수에 저장하는 방식을 사용했습니다.
결론
여러 방법을 통해 문자열에서 숫자만을 추출할 수 있습니다. 실제 상황에 따라 가장 효율적이거나 읽기 쉬운 방법을 선택하는 것이 좋습니다.