Go 验证字符串中是否包含中文(推荐)

发现一个验证字符串是否包含中文滴时候,一个比正则更好使滴方法,而且是golang 自带滴验证。

不需要自己写正则验证,代码如下:

package main
import (
 "fmt"
 "regexp"
 "unicode"
)
func main() {
 s1 := "我是中国人hello word!,2020 street 188#"
 var count int
 for _, v := range s1 {
 if unicode.Is(unicode.Han, v) {
  fmt.Println("找到中文")
  count++
 }
 }
 fmt.Println(count)
 fmt.Println(IsChineseChar(s1))
}
// 或者封装函数调用
func IsChineseChar(str string) bool {
 for _, r := range str {
 if unicode.Is(unicode.Scripts["Han"], r) || (regexp.MustCompile("[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b]").MatchString(string(r))) {
  return true
 }
 }
 return false
}

比正则好用

无论从事什么行业,只要做好两件事就够了,一个是你的专业、一个是你的人品,专业决定了你的存在,人品决定了你的人脉,剩下的就是坚持,用善良專業和真诚赢取更多的信任。

总结

以上所述是小编给大家介绍的Go 验证字符串中是否包含中文,希望对大家有所帮助!

(0)

相关推荐

  • Golang中文字符串截取函数实现原理

    在golang中可以通过切片截取一个数组或字符串,但是当截取的字符串是中文时,可能会出现的问题是:由于中文一个字不只是由一个字节组成,所以直接通过切片可能会把一个中文字的编码截成两半,结果导致最后一个字符是乱码. 例如: 想要截取前四个字 name := "我是胡八一" fmt.Println("name[:4] = ",name[:4]) 执行后得到的结果会是这样的: name[:4] = 我? 解决方法: 先将其转为[]rune,再截取后,转会string na

  • mongodb处理中文索引与查找字符串详解

    参考文献 首先自打3.2版本之后,就开始支持中文索引了,支持的所有的语言参考这里: https://docs.mongodb.com/manual/reference/text-search-languages/ 然后,对于要支持索引的表需要建议text index,如何建立参考这里: https://docs.mongodb.com/manual/core/index-text/ 在建好索引text之后,如果检索参考: https://docs.mongodb.com/manual/refer

  • Go 验证字符串中是否包含中文(推荐)

    发现一个验证字符串是否包含中文滴时候,一个比正则更好使滴方法,而且是golang 自带滴验证. 不需要自己写正则验证,代码如下: package main import ( "fmt" "regexp" "unicode" ) func main() { s1 := "我是中国人hello word!,2020 street 188#" var count int for _, v := range s1 { if unico

  • java判断字符串中是否包含中文并过滤中文

    java判断字符串中是否包含中文并过滤掉中文,具体内容如下 1.判断字符串中是否包含中文方法封装 /** * 判断字符串中是否包含中文 * @param str * 待校验字符串 * @return 是否为中文 * @warn 不能校验是否为中文标点符号 */ public static boolean isContainChinese(String str) { Pattern p = Pattern.compile("[\u4e00-\u9fa5]"); Matcher m = p

  • Java判断字符串中是否包含中文方法

    今天和同事在讨论一个问题,需要检查"输入的字符串中是否包含中文",刚开始想到是用正则表达式,正则表达式中是以[u4e00-u9fa5]来全匹配字符是否是中文,但现在面临的问题是这个字符串中还可能包含英文字符.数字.特殊字符,一时也没想出能匹配该场景的正则表达式,后来在网上搜了下,可以使用Matcher类来解决该问题,大致的代码实现如下: import java.util.regex.Matcher; import java.util.regex.Pattern; public clas

  • Java正则表达式判断字符串中是否包含中文示例

    前言 在日常开发编程中,我们有时从用户那里得到一些输入信息,对于特定应用,部分信息不允许包含中文字符,那如何检测信息字符串中是否包含中文字符呢? 方法有很多,这篇文章就介绍一下如何通过正则表达式来实现这个需求. 示例代码 package cn.sunzn.demo; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Demo { public static void main(String[]

  • Java 判断字符串中是否包含中文的实例详解

    Java 判断字符串中是否包含中文的实例详解 Java判断一个字符串是否有中文是利用Unicode编码来判断,因为中文的编码区间为:0x4e00--0x9fbb, 不过通用区间来判断中文也不非常精确,因为有些中文的标点符号利用区间判断会得到错误的结果.而且利用区间判断中文效率也并不高,例如:str.substring(i, i + 1).matches("[\\一-\\?]+"),就需要遍历整个字符串,如果字符串太长效率非常低,而且判断标点还会错误.这里提高 一个高效准确的判断方法,使

  • C#实现判断字符串中是否包含中文的方法

    本实例展示了C#实现判断字符串中是否包含中文的方法,是一个非常实用的功能,对初学者来说有一定的借鉴学习价值,具体实现方法如下: 主要功能代码如下: /// <summary> /// 判断字符串中是否包含中文 /// </summary> /// <param name="str">需要判断的字符串</param> /// <returns>判断结果</returns> public static bool Has

  • php 字符串中是否包含指定字符串的多种方法

    编写程序的时候,经常要处理字符串,最基本就是字符串的查找,在php检测字符串中是否包含指定字符串可以使用正则,如果你对正则不了解,那么有几个函数可以为您提供方便. 1. strstr strstr() 函数搜索一个字符串在另一个字符串中的第一次出现. 该函数返回字符串的其余部分(从匹配点).如果未找到所搜索的字符串,则返回 false. 代码如下: <?php /*如手册上的举例*/ $email = 'user@example.com'; $domain = strstr($email, '@

  • C#判断字符串中是否包含指定字符串及contains与indexof方法效率问题

    正文  #方法一:使用string.Contains方法 string.Contains是大小写敏感的,如果要用该方法来判断一个string是否包含某个关键字keyword,需要把这个string和这个keyword都转成小写或大写再调用Contains方法: string key = "bbb"; string temp = "aaaBBBcccDDD"; bool isContains= temp.ToLower().Contains(key.ToLower()

  • php检查字符串中是否包含7位GSM字符的方法

    本文实例讲述了php检查字符串中是否包含7位GSM字符的方法.分享给大家供大家参考.具体分析如下: 下面的代码检查一个字符串是否包含任何7位GSM字符.它对短信平台上工作的人非常有用. <?php function check_gsm($str) { $arr = array( "0x00", "0x01", "0x02", "0x03", "0x04", "0x05","

  • Python检测字符串中是否包含某字符集合中的字符

    目的 检测字符串中是否包含某字符集合中的字符 方法 最简洁的方法如下,清晰,通用,快速,适用于任何序列和容器 复制代码 代码如下: def containAny(seq,aset):     for c in seq:          if c in aset:                 return True     return False 第二种适用itertools模块来可以提高一点性能,本质上与前者是同种方法(不过此方法违背了Python的核心观点:简洁,清晰) itertoo

随机推荐