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

  • BurnedInDotCom

    BurnedInDotC

    3 NİSAN 2010
  • Kenneth Håkonsen

    Kenneth Håk

    13 Mart 2011
  • segtlim

    segtlim

    21 EKİM 2008