python: padding punctuation with white spaces (keeping punctuation)(Python:用空格填充标点符号(保留标点符号))
问题描述
用空格填充标点符号的有效方法是什么?
输入:
s = 'bla. bla? bla.bla! bla...'
所需输出:
s = 'bla . bla ? bla . bla ! bla . . .'
评论:
- 我不在乎令牌之间有多少空格。(但它们最终需要折叠)
- 我不想填充所有标点符号。假设我只对.,!?()感兴趣。
推荐答案
您可以使用正则表达式匹配您感兴趣的标点符号字符,并用空格将它们括起来,然后使用第二步折叠文档中任意位置的多个空格:
s = 'bla. bla? bla.bla! bla...'
import re
s = re.sub('([.,!?()])', r' 1 ', s)
s = re.sub('s{2,}', ' ', s)
print(s)
结果:
bla . bla ? bla . bla ! bla . . .
这篇关于Python:用空格填充标点符号(保留标点符号)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!