python字符串中包含的数字、字母的判断

今天在做分词的时候,由于既有汉字,又有其他的字符,但是能用到的只有汉字部分,所以就想说有没有什么办法能判断一个字符串是否是纯中文的,就在网上找了一下方法,找到了一篇比较详细的判断字符串类型的博文,

原文地址如下:https://blog.csdn.net/u012155582/article/details/78587394

原文如下:

1、判断一个字符串是不是中文,这里的关键是在判断的时候用字符串的Unicode码

def is_chinese(uchar):
    """判断一个unicode是否是汉字"""
    if uchar >= u'\u4e00' and uchar <= u'\u9fa5':
        return True
    else:
        return False

2、判断一个Unicode字符是否是数字

def is_number(uchar):
    """判断一个unicode是否是数字"""
    if uchar >= u'\u0030' and uchar <= u'\u0039':
        return True
    else:
        return False

3、判断一个Unicode字符是否是字母

def is_alphabet(uchar):
    """判断一个unicode是否是英文字母"""
    if (uchar >= u'\u0041' and uchar <= u'\u005a') or (uchar >= u'\u0061' and uchar <= u'\u007a'):
        return True
    else:
        return False

下面的函数用于实现,保留一串字符串中的中文部分:

def format_str(content):
    content = unicode(content,'utf-8')
    content_str = ''
    for i in content:
        if is_chinese(i):
            content_str = content_str+i
    return content_str

4、 整体判断字符串是否全为数字或者字母

    (1)str为字符串s为字符串,里面的字符包括小数点

            str.isalnum() 所有字符都是数字或者字母

            str.isalpha() 所有字符都是字母

            str.isdigit() 所有字符都是数字,如果带小数点,则会返回False

            str.isspace() 所有字符都是空白字符、t、n、r

5、检查字符串中是否包含数字

    还用正则表达式进行判断,代码如下:

    其中str是我们需要进行判断的字符串,语句的返回值是True或者False

bool(re.search(r'\d', str))
发布了29 篇原创文章 · 获赞 16 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/u011412768/article/details/82470069