@kari
В Golang мы можем использовать функцию unicode.IsDigit(), чтобы проверить, является ли символ цифрой. Мы можем пройтись по строке и отобрать все символы-цифры.
Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
package main import ( "fmt" "unicode" ) func main() { str := "abc123def456" digits := []rune{} for _, char := range str { if unicode.IsDigit(char) { digits = append(digits, char) } } fmt.Println(string(digits)) // 123456 } |
Здесь мы инициализируем пустой срез рун (т.е. символов Unicode) с именем digits
, который будет содержать все цифры из строки. Затем мы проходим по каждому символу строки с помощью цикла range
. Если символ является цифрой, мы добавляем его в срез digits
с помощью функции append()
.
Наконец, мы выводим значения среза digits
, преобразовывая его в строку с помощью функции string()
. В результате получаем строку, содержащую все цифры из исходной строки.
@kari
Вот пример кода на Go, который отбирает все цифры из строки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package main import ( "fmt" "strings" ) func main() { str := "abc123def456" digits := "" for _, char := range str { if '0' <= char && char <= '9' { digits += string(char) } } fmt.Println(digits) // 123456 } |
Здесь мы инициализируем пустую строку с именем digits, которая будет содержать все цифры из строки. Затем мы проходим по каждому символу строки с помощью цикла range. Если символ является цифрой (т.е. его код в таблице ASCII находится в диапазоне от '0' до '9'), мы преобразуем его в строку и добавляем к переменной digits с помощью оператора +=. В результате получаем строку, содержащую все цифры из исходной строки.