SORU
24 Mayıs 2011, Salı


Python birden çok dize değiştirin

Bu kullanmak istiyorum .fonksiyon birden fazla dizeleri değiştirmek için Değiştir.

Ben şu anda var

string.replace("condition1", "")

ama bir şey gibi

string.replace("condition1", "").replace("condition2", "text")

iyi sözdizimi gibi hissediyorum olmasa da

bunu yapmak için doğru yolu nedir? nasıl grep/düzenli ifade gibi sanki \1 \2 belirli arama dizeleri alanları değiştirmek için yapabilirsiniz

CEVAP
24 Mayıs 2011, Salı


Burada düzenli ifadeler ile hile yapmak gerekir kısa bir örnek:

import re

rep = {"condition1": "", "condition2": "text"} # define desired replacements here

# use these three lines to do the replacement
rep = dict((re.escape(k), v) for k, v in rep.iteritems())
pattern = re.compile("|".join(rep.keys()))
text = pattern.sub(lambda m: rep[re.escape(m.group(0))], text)

Örneğin:

>>> pattern.sub(lambda m: rep[re.escape(m.group(0))], "(condition1) and --condition2--")
'() and --text--'

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Droid Life

    Droid Life

    17 Kasım 2009
  • AutoStream's Garage419

    AutoStream's

    15 EKİM 2007
  • hitcreatormusic2

    hitcreatormu

    21 Mayıs 2010