最近在处理文本,发现切分句子,去除标点符号,判断字符串是否包含中文经常会用到,我这里分享一下我的代码:
- 切分句子
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.youkuaiyun.com/mouday/article/details/81512870