Python判断字符串中是不是有中文字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python判断字符串中是不是有中文字符相关的知识,希望对你有一定的参考价值。

首先,在Python中字符串的表示是 用unicode编码。所以在做编码转换时,通常要以unicode作为中间编码。
decode的作用是将其他编码的字符串转换成unicode编码,比如 a.decode('utf-8'),表示将utf-8编码的字符串转换成unicode编码
encode的作用是将unicode编码的字符串转换成其他编码格式的字符串,比如b.encode('utf-8'),表示将unicode编码格式转换成utf-8编码格式的字符串

判断一个字符串中是否含有中文字符:
好了,有了以上知识,就可以很容易的解决这个问题了。这是代码

1 #-*- coding:utf-8 -*-
2
3 import sys
4 reload(sys)
5 sys.setdefaultencoding('utf8')
6
7 def check_contain_chinese(check_str):
8 for ch in check_str.decode('utf-8'):
9 if u'\u4e00' <= ch <= u'\u9fff':
10 return True
11 return False
12
13 if __name__ == "__main__":
14 print check_contain_chinese('中国')
15 print check_contain_chinese('xxx')
16 print check_contain_chinese('xx中国')
17
18 结果:
19 True
20 False
21 True
参考技术A def is_chinese(s):
  if s >= u'\\u4e00' and s<=u'\\u9fa5':
    return True
  else:
    return False


给你这个判断中文字符的函数,用到字符串上就可以了。

参考技术B 1.输入一个字符串,随机生成S,不知道这个随机是什么意思,莫非要加密。 2.下面就简单了,把输入的字符串转换成列表,然后用in判断输入的X是不是在S列表中,在用列表方法remove移除就OK了 这个不是特别难吧! 参考技术C 如果是GB码,可能是双字节GBK[0x81-0xfe][0x40-0xfe],也可能是四字节GB18030[0x81-0xfe][0x30-0x39][0x81-0xfe][0x30-0x39]。
汉字在Unicode中称作CJK 统一表意符号 (CJK Unified Ideographs),包括
reg=/^([\u+3400-\u+4dbf\u4e00-\u9fff\u+20000-\u3fffd\ue000-f8ff]2,7)$/; //只能是中文,长度为2-7位
最后一项为PUA,参见百度百科【统一码】。
参考技术D import sys
reload(sys)
sys.setdefaultencoding('utf8')
def check_contain_chinese(check_str):
    for ch in check_str.decode('utf-8'): 
        if u'\\u4e00' <= ch <= u'\\u9fff':
            return True  
    return False

if __name__ == "__main__":
    print check_contain_chinese('中国')
    print check_contain_chinese('xxx')
    print check_contain_chinese('xx中国')
    
    # 结果:
    
    True 
    False
    True

用python语言,如何判断一段字符串中是不是包含指定的字符串

用python语言,如何判断一段字符串中是否包含指定的字符串比如abcdefghi中是否包含bcd,是返回真否则返回假,怎样写代码

python的string对象没有contains方法,不用使用string.contains的方法判断是否包含子字符串,但是python有更简单的方法来替换contains函数。

方法1:使用 in 方法实现contains的功能:

site = ''
if "jb51" in site:
print('site contains jb51')

输出结果:site contains jb51

方法2:使用find函数实现contains的功能

s = "This be a string"
if s.find("is") == -1:
print "No 'is' here!"
else:
print "Found 'is' in the string."
参考技术A

用一个库函数,就是sscanf。它是从字符串中读取数据,如果读取的数据等于你的b中的每个元素。

Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

参考技术B 好像直接用 if ‘bcd’ in 'abcdefghi'

以上是关于Python判断字符串中是不是有中文字符的主要内容,如果未能解决你的问题,请参考以下文章

如何判断一个字符串是不是在 Python 中重复?

如何判断 Python 对象是不是为字符串?

python 判断字符串是不是中文的.py

python 判断字符串中是不是含有英文

使用 Python dateutil,如何判断时区字符串是不是“有效”?

python如何使用字符串比较来判断ip地址是不是为多播? [复制]