2015-07-31 23 views
5

Python'da bir dizenin kaçan karakterler içerip içermediğini kontrol etmeye çalışıyorum. Bunu yapmanın daha iyi bir yoluÇıkış karakterleri için bir python dizesinin kontrol edilmesi

s = "A & B" 
escaped_chars = ["&", 
    """, 
    "'", 
    ">"] 

for char in escaped_chars: 
    if char in s: 
     print "escape char '{0}' found in string '{1}'".format(char, s) 

var mı: Listedeki herhangi eleman dizesinde ise Bunu yapmanın en kolay yolu, daha sonra, kaçan karakterlerin bir listesini ayarlamak kontrol etmektir?

+1

Neden daha iyi bir yol soruyorsunuz? Mevcut yönteminizin nesi var? Çirkin? Kötü performans? Lütfen belirli soruları sorun –

+2

Çünkü ben dahil olmayan birçok diğer escaped_chars var, '<', vb – Andrew

cevap

6

Sen regular expression (ayrıca re module documentation bakınız) kullanabilirsiniz:

  • &

    >>> s = "A &amp; B" 
    >>> import re 
    >>> matched = re.search(r'&\w+;', s) 
    >>> if matched: 
    ...  print "escape char '{0}' found in string '{1}'".format(matched.group(), s) 
    ... 
    escape char '&amp;' found in string 'A &amp; B' 
    
    , ; maçlar &, ; anlamıyla. \w sözcük karakteriyle (alfabe, rakamlar, _) eşleşir. Bir veya daha fazla sözcük karakteriyle eşleşen
  • \w+.
+4

Başar cevap :) – The6thSense

İlgili konular