What is an efficient way to pad punctuation with whitespace?
input:
s = \'bla. bla? bla.bla! bla...\'
desired output:
You can use a regular expression to match the punctuation characters you are interested and surround them by spaces, then use a second step to collapse multiple spaces anywhere in the document:
s = 'bla. bla? bla.bla! bla...'
import re
s = re.sub('([.,!?()])', r' \1 ', s)
s = re.sub('\s{2,}', ' ', s)
print(s)
Result:
bla . bla ? bla . bla ! bla . . .