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

  • cosmicrocketman

    cosmicrocket

    17 NİSAN 2006
  • Kiddyzuzaa

    Kiddyzuzaa

    25 ŞUBAT 2014
  • MrSuicideSheep

    MrSuicideShe

    9 NİSAN 2010