Как отобрать все цифры из строки в golang?

Пользователь

от deshaun_cormier , в категории: Golang , год назад

Как отобрать все цифры из строки в golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от ciara , год назад

@deshaun_cormier 

Для того чтобы отобрать все цифры из строки в Go, можно использовать пакет regexp, который предоставляет возможность работать с регулярными выражениями.


Вот пример функции, которая находит все цифры в строке и возвращает их в виде строки:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import (
    "regexp"
    "strings"
)

func extractDigits(str string) string {
    re := regexp.MustCompile("[0-9]+")
    digits := re.FindAllString(str, -1)
    return strings.Join(digits, "")
}


Здесь мы используем регулярное выражение [0-9]+, которое означает "одна или более цифр". Функция FindAllString находит все подстроки, соответствующие этому выражению, и возвращает их в виде массива строк.


Затем мы объединяем все найденные цифры в одну строку с помощью функции Join из пакета strings.


Пример использования:

1
2
3
4
5
func main() {
    str := "abc123def456"
    digits := extractDigits(str)
    fmt.Println(digits) // выводит "123456"
}