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ş:
JavaScript dize tek boşluk ile birden ...
Nasıl dize bir normal ifade giriş için...
Python alt yöntem içeren bir dize var ...
Python ile bir dize bir dize için bir ...
Python katılın, neden dize.liste yerin...