帮我写个golang脚本,将字符串中的数字取出来
时间: 2023-04-05 09:01:49 浏览: 247
好的,我可以为您提供一个golang脚本,用于将字符串中的数字取出来。以下是代码:
```
package main
import (
"fmt"
"regexp"
)
func main() {
str := "abc123def456"
re := regexp.MustCompile(`\d+`)
nums := re.FindAllString(str, -1)
fmt.Println(nums)
}
```
您可以将字符串替换为您想要提取数字的字符串。这个脚本将使用正则表达式匹配字符串中的数字,并将它们存储在一个字符串切片中。
相关问题
golang 一个字符串是否在切片中
要判断一个字符串是否在切片中,可以使用 for 循环遍历切片,逐一比较每个元素是否与目标字符串相等。代码示例如下:
```go
func IsInSlice(str string, slice []string) bool {
for _, s := range slice {
if s == str {
return true
}
}
return false
}
```
调用该函数可以判断目标字符串是否在切片中:
```go
str := "hello"
slice := []string{"world", "hello", "golang"}
if IsInSlice(str, slice) {
fmt.Println("字符串在切片中")
} else {
fmt.Println("字符串不在切片中")
}
```
golang 数字转字符串
在 Golang 中,可以使用 `strconv` 包中的函数将数字转换为字符串。常用的有 `strconv.Itoa()` 和 `strconv.FormatInt()` 函数。具体使用方法如下:
1. 使用 `strconv.Itoa()` 函数将 int 类型的数字转换为字符串类型。例如:
```go
package main
import (
"fmt"
"strconv"
)
func main() {
num := 123
str := strconv.Itoa(num)
fmt.Printf("num is %d, str is %s\n", num, str)
}
```
输出结果为:
```
num is 123, str is 123
```
2. 使用 `strconv.FormatInt()` 函数将 int64 类型的数字转换为字符串类型。例如:
```go
package main
import (
"fmt"
"strconv"
)
func main() {
num := int64(123)
str := strconv.FormatInt(num, 10)
fmt.Printf("num is %d, str is %s\n", num, str)
}
```
输出结果为:
```
num is 123, str is 123
```
其中,第二个参数是指定进制的参数。常用的进制有 2、8、10、16,分别对应二进制、八进制、十进制和十六进制。因此,如果要将一个十进制的 int64 数字转换为十六进制的字符串,可以使用:
```go
package main
import (
"fmt"
"strconv"
)
func main() {
num := int64(123)
str := strconv.FormatInt(num, 16)
fmt.Printf("num is %d, str is %s\n", num, str)
}
```
输出结果为:
```
num is 123, str is 7b
```
阅读全文