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

  • DRDAnimation

    DRDAnimation

    28 EYLÜL 2012
  • spederson7

    spederson7

    17 Temmuz 2006
  • Vicious Computers

    Vicious Comp

    14 EKİM 2006