golang判断字符串是否包含中文

在Golang中,判断字符串是否包含中文可以使用多种实现方法:

方法一:

可以使用unicode包中的函数 func Is(rangeTab *RangeTable, r rune) bool 来判断字符是否属于中文的Unicode范围。以下是一个基于该方法的示例代码:

Go 复制代码
package main
 
import (
    "fmt"
    "unicode"
)
 
func IsContainChinese(str string) bool {
    for _, r := range str {
        if unicode.Is(unicode.Scripts["Han"], r) {
            return true
        }
    }
    return false
}
 
func main() {
    str := "Hello, 中国!"
    if IsContainChinese(str) {
        fmt.Println("字符串包含中文")
    } else {
        fmt.Println("字符串不包含中文")
    }
}

方法二:

可以使用unicode包中的函数 func In(r rune, ranges ...*RangeTable) bool 来判断字符是否在中文的Unicode范围内。以下是一个基于该方法的示例代码:

Go 复制代码
package main
 
import (
    "fmt"
    "unicode"
)
 
func IsContainChinese(str string) bool {
    for _, r := range str {
        if unicode.In(r, unicode.Scripts["Han"]) {
            return true
        }
    }
    return false
}
 
func main() {
    str := "Hello, 中国!"
    if IsContainChinese(str) {
        fmt.Println("字符串包含中文")
    } else {
        fmt.Println("字符串不包含中文")
    }
}

方法三:

可以使用正则表达式来匹配中文字符,使用regexp包中的函数 func MatchString(pattern string, s string) (matched bool, err error) 来判断字符串是否匹配正则表达式。以下是一个基于该方法的示例代码:

Go 复制代码
package main
 
import (
    "fmt"
    "regexp"
)
 
func IsContainChinese(str string) bool {
    pattern := "[\u4e00-\u9fa5]" // 匹配中文字符的正则表达式
    matched, _ := regexp.MatchString(pattern, str)
    return matched
}
 
func main() {
    str := "Hello, 中国!"
    if IsContainChinese(str) {
        fmt.Println("字符串包含中文")
    } else {
        fmt.Println("字符串不包含中文")
    }
}
相关推荐
u***32433 分钟前
Mysql官网下载Windows、Linux各个版本
linux·数据库·mysql
i***39583 分钟前
mysql之如何获知版本
数据库·mysql
Tzarevich12 分钟前
AIGC 时代,用自然语言操作 SQLite3 数据库
数据库·sqlite
r***013813 分钟前
MySQL最多能有多少连接
数据库·mysql
l***0634 分钟前
Redis--模糊查询--方法实例
数据库·redis·缓存
大吱佬39 分钟前
GO 八股整理(自用)
开发语言·后端·golang
七烦43 分钟前
金仓KingbaseES数据库安装至Linux系统
数据库·mysql·kingbasees
r***R2891 小时前
MySQL的日期时间类型
数据库·mysql
vx_vxbs661 小时前
【SSM高校普法系统】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
android·java·python·mysql·小程序·php·idea
Java陈序员1 小时前
精致简约!一款优雅的开源云盘系统!
mysql·docker·开源·go·云盘