时间:2020-11-02 17:46:54 | 栏目:Python代码 | 点击:次
问题
给出一段话,由短句组成,短句之间可能被任意标点符号隔开。想要提取所有的短句。
解决
使用 re.split 函数,用正则式匹配的方法,一次性分隔所有短句。
import re pattern = r',|\.|/|;|\'|`|\[|\]|<|>|\?|:|"|\{|\}|\~|!|@|#|\$|%|\^|&|\(|\)|-|=|\_|\+|,|。|、|;|‘|'|【|】|?|!| |…|(|)' test_text = 'b,b.b/b;b\'b`b[b]b<b>b?b:b"b{b}b~b!b@b#b$b%b^b&b(b)b-b=b_b+b,b。b、b;b‘b'b【b】b?b!b b…b(b)b' result_list = re.split(pattern, test_text) print(result_list)
输出为
['b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b']
可见所有的 b 都被提取了出来。