请问高手,Golang如何去判断字符串是数字还是字符,好像网上没有好的答案。
**这样的正则 OK 嘛?如有错误欢迎指正**
```
var numPattern = regexp.MustCompile(`^\d+$|^\d+[.]\d+$`)
/**
判断字符串是否为 纯数字 包涵浮点型
*/
func IsNumber(s string) bool {
return numPattern.MatchString(s)
}
```
#8
更多评论
func IsSingleDigit(data string) bool {
digit := []string{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
for _, item := range digit {
if data == item {
return true
}
}
return false
}
func IsDigit(data string) bool {
for _, item := range data {
if IsSingleDigit(string(item)) {
continue
} else {
return false
}
}
return true
}
func main() {
a := "12345"
fmt.Println(IsDigit(a))
}
#1
推荐你用正则表达式,或者ASCII值判断
比如正则的话,判断字符串是否全数字:
```go
import(
"fmt"
"regexp"
)
func main(){
pattern := "\\d+" //反斜杠要转义
str := "124534"
result,_ := regexp.MatchString(pattern,str)
fmt.Println(result)
}
```
#2