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

  • Atlantic Records

    Atlantic Rec

    15 Aralık 2006
  • Orson Wang

    Orson Wang

    28 EKİM 2006
  • TV nEW

    TV nEW

    25 AĞUSTOS 2012