用一对括号拆分并保留内容
Split with pair of brackets and keep content between
我正在尝试拆分字符串列表中的字符串。现在,每当我看到以下任何字符时,我都必须拆分:'.'、';'、':'、'?'、'!'、'( )'、'[ ]'、'{ }'(保持请记住,我必须保留括号内的任何内容)。
为了解决这个问题,我试着写
print(re.split("\(([^)]*)\)|[.,;:?!]\s*", "Hello world,this is(example)"))
但作为输出我得到:
['Hello world', None, 'this is', 'example', '']
去掉末尾的' ',我稍后会解决,如何删除出现在列表中间的None?
顺便说一句,我不能再次在列表中迭代,因为该程序将处理大文件,我必须尽可能快地完成它。
此外,我不必一定要使用 re.split,所以一切正常!
我在这方面还是个新手,所以如果有不正确的地方,我很抱歉。
不确定这是否足够快,但您可以这样做:
re.sub(r";|,|:|\(|\)|\[|\]|\?|\.|\{|\}|!", " ", "Hello world,this is(example)").split()
我正在尝试拆分字符串列表中的字符串。现在,每当我看到以下任何字符时,我都必须拆分:'.'、';'、':'、'?'、'!'、'( )'、'[ ]'、'{ }'(保持请记住,我必须保留括号内的任何内容)。 为了解决这个问题,我试着写
print(re.split("\(([^)]*)\)|[.,;:?!]\s*", "Hello world,this is(example)"))
但作为输出我得到:
['Hello world', None, 'this is', 'example', '']
去掉末尾的' ',我稍后会解决,如何删除出现在列表中间的None? 顺便说一句,我不能再次在列表中迭代,因为该程序将处理大文件,我必须尽可能快地完成它。 此外,我不必一定要使用 re.split,所以一切正常!
我在这方面还是个新手,所以如果有不正确的地方,我很抱歉。
不确定这是否足够快,但您可以这样做:
re.sub(r";|,|:|\(|\)|\[|\]|\?|\.|\{|\}|!", " ", "Hello world,this is(example)").split()