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

 我来答
从空去听8
推荐于2018-01-18 · TA获得超过7439个赞
知道大有可为答主
回答量:6907
采纳率:93%
帮助的人:5578万
展开全部
首先,在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
黑板客
2016-12-06 · TA获得超过469个赞
知道小有建树答主
回答量:193
采纳率:100%
帮助的人:192万
展开全部
def is_chinese(s):
  if s >= u'\u4e00' and s<=u'\u9fa5':
    return True
  else:
    return False


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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帅慧醉3
2017-08-21 · TA获得超过153个赞
知道小有建树答主
回答量:190
采纳率:33%
帮助的人:31.3万
展开全部
1.输入一个字符串,随机生成S,不知道这个随机是什么意思,莫非要加密。 2.下面就简单了,把输入的字符串转换成列表,然后用in判断输入的X是不是在S列表中,在用列表方法remove移除就OK了 这个不是特别难吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
octstonewk
2021-04-12 · TA获得超过9700个赞
知道大有可为答主
回答量:3786
采纳率:50%
帮助的人:1681万
展开全部
如果是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,参见百度百科【统一码】。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
crazy_cong
2018-01-17 · 超过19用户采纳过TA的回答
知道答主
回答量:71
采纳率:50%
帮助的人:16.7万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式