2015-07-31 4 views
5

मैं यह जांचने की कोशिश कर रहा हूं कि पाइथन में एक स्ट्रिंग से बचने वाले वर्ण हैं या नहीं।बच निकले वर्णों के लिए एक पायथन स्ट्रिंग की जांच

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) 

वहाँ ऐसा करने का एक बेहतर तरीका है: यह करने के लिए सबसे आसान तरीका है, तो सूची में किसी भी तत्व स्ट्रिंग में है बच गए पात्रों की सूची सेट करने, तो जाँच है?

+1

आप बेहतर तरीके से क्यों पूछ रहे हैं? आपकी वर्तमान विधि में क्या गलत है? बदसूरत? बुरा प्रदर्शन? कृपया विशिष्ट प्रश्न पूछें –

+2

क्योंकि कई अन्य escaped_chars हैं जिन्हें मैंने शामिल नहीं किया है, जैसे '<', आदि – Andrew

उत्तर

6

आप regular expression (यह भी देखें re module documentation) का उपयोग कर सकते हैं:

>>> 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' 
  • &, ; मैचों &, ; सचमुच।
  • \w शब्द वर्ण (वर्णमाला, अंक, _) से मेल खाता है।
  • \w+ एक या अधिक शब्द वर्णों से मेल खाता है।
+4

बहुत बढ़िया उत्तर :) – The6thSense

संबंधित मुद्दे