正则表达式不是自己写的,情感分析 分词时 格式不对报错,试过str()转换,但会导致结果的一句话被拆成N个词。有什么办法可以改掉格式/修改正则表达式嘛
def DataFilter(line):
res = re.sub('[^\u4e00-\u9fff\!\。\,\?]+','',line)
return res
content_filter = [DataFilter(item) for item in content]
content_filter
expected string or bytes-like object
str() 格式转换
def DataFilter(line):
res = re.sub('[^\u4e00-\u9fff\!\。\,\?]+','',line)
return res
content_filter = [DataFilter(item) for item in str(content)]
content_filter
结果如图:
但我希望分完词后仍然为一句依据完成的话,如图:
有什么办法可以改掉格式/修改正则表达式嘛
不需要用[DataFilter(item) for item in str(content)]推导式来遍历content的
只要用re.findall()来分割一个段落或句子:
def DataFilter(line):
res = re.findall('[^\!\。\,\?]+[\!\。\,\?]',line)
return res
s = '正则表达式不是自己写的,情感分析 分词时 格式不对报错,试过str()转换,但会导致结果的一句话被拆成N个词。有什么办法可以改掉格式/修改正则表达式嘛?'
DataFilter(s)
['正则表达式不是自己写的,', '情感分析 分词时 格式不对报错,', '试过str()转换,', '但会导致结果的一句话被拆成N个词。', '有什么办法可以改掉格式/修改正则表达式嘛?']