[Python-Dev] textwrap.py wordsep_re
Karl Chen
quarl at cs.berkeley.edu
Mon Feb 21 12:39:41 CET 2005
Hi,
textwrap.fill() is awesome.
Except when the string to wrap contains dates -- which I would
like not to be filled. In general I think wordsep_re can be
smarter about what it decides are hyphenated words.
For example, this code:
print textwrap.fill('aaaaaaaaaa 2005-02-21', 18)
produces:
aaaaaaaaaa 2005-
02-21
A slightly tweaked wordsep_re:
textwrap.TextWrapper.wordsep_re =\
re.compile(r'(\s+|' # any whitespace
r'[^\s\w]*\w+[a-zA-Z]-(?=[a-zA-Z]\w+)|' # hyphenated words
r'(?<=[\w\!\"\'\&\.\,\?])-{2,}(?=\w))') # em-dash
print textwrap.fill('aaaaaaaaaa 2005-02-21', 18)
behaves better:
aaaaaaaaaa
2005-02-21
What do you think about changing the default wordsep_re?
--
Karl 2005-02-21 03:32
More information about the Python-Dev
mailing list