python 按照标点符号切分句子,去除标点符号,判断字符串是否包含中文

最近在处理文本,发现切分句子,去除标点符号,判断字符串是否包含中文经常会用到,我这里分享一下我的代码:

  • 切分句子
import re
def split_sentences(line):
    line_split = re.split(r'[。!;?,]',line.strip())
    line_split = [line.strip() for line in line_split if line.strip() not in ['。','!','?',';',','] and len(line.strip())>1]
    return line_split
  • 判断字符串是否包含中文
def is_contain_chinese(check_str):
    """
    判断字符串中是否包含中文
    :param check_str: {str} 需要检测的字符串
    :return: {bool} 包含返回True, 不包含返回False
    """
    for ch in check_str:
        if u'\u4e00' <= ch <= u'\u9fff':
            return True
    return False
  • 去除标点符号
def remove_punctuation(line):
    rule = re.compile(r"[^a-zA-Z0-9\u4e00-\u9fa5]")
    line = rule.sub('',line)
    return line

参考文献

[1].Python处理中文标点符号大集合. https://www.jb51.net/article/140055.htm

[2].Python编程:判断字符串中是否包含中文. https://blog.csdn.net/mouday/article/details/81512870

你可能感兴趣的:(python学习)