alternating string replace
Neil Cerutti
mr.cerutti at gmail.com
Wed Jan 9 08:42:57 EST 2008
On Jan 9, 2008 5:34 AM, cesco <fd.calabrese at gmail.com> wrote:
> Hi,
>
> say I have a string like the following:
> s1 = 'hi_cat_bye_dog'
> and I want to replace the even '_' with ':' and the odd '_' with ','
> so that I get a new string like the following:
> s2 = 'hi:cat,bye:dog'
> Is there a common recipe to accomplish that? I can't come up with any
> solution...
>
> Thanks in advance
Hum, hum... If I had a hammer...
from pyparsing import *
word = Word(alphas)
sep = Literal('_').suppress()
pair = Group(word + sep + word)
pairs = delimitedList(pair, '_')
print ','.join(':'.join(t) for t in
pairs.parseString('hi_cat_bye_dog').asList())
--
Neil Cerutti <mr.cerutti+python at gmail.com>
More information about the Python-list
mailing list