Begineer Question : Global string substitution with re
pfleonard at hotmail.com
Mon Sep 22 11:22:44 CEST 2003
This is a basic question but I can't figure out what is wron - even after
reading the documentation. I have a script that normalizes strings. One of
the steps is to convert all fractions too the tag 'fraction'. For example :
line = "This is the first ratio, 170/37, and this is the second 170/37 "
fraction = r'(\s+\d+\/\d+\s+)'
regfr = re.compile(fraction)
text = regfr.sub(" |fraction| ",text)
punc = r'\,'
regpunc = re.compile(punc)
text = regpunc.sub("",text)
The output from this script is :
This is the first ratio, 170/37, and this is the second 170/37
This is the first ratio 170/37 and this is the second |fraction|
I can't understand why only one of the fractions gets substituted. The
documentation for sub states that the default argument for sub is 0 which
means replace all occurences. The output of my script should be :
This is the first ratio |fraction| and this is the second |fraction|
Any help appreciated.
Add MSN 8 Internet Software to your existing Internet access and enjoy
patented spam protection and more. Sign up now!
More information about the Python-list