सामान्य रूप से, यदि आप अपने उपयोग के मामले में ऐसी चीज को परिभाषित कर सकते हैं तो स्वीकार्य पात्रों के श्वेतसूची का उपयोग करके इनपुट सत्यापन किया जाना चाहिए। फिर आप श्वेतसूची पर नहीं है (या पूरी तरह से इनपुट को अस्वीकार) पर कुछ भी फेंक देते हैं।
यदि आप अनुमत वर्णों के एक सेट को परिभाषित कर सकते हैं, तो आप बाकी सब कुछ बाहर निकालने के लिए नियमित अभिव्यक्ति का उपयोग कर सकते हैं।
उदाहरण के लिए, मान लीजिए कि आप जानते हैं कि "देश" केवल अपर-केस अंग्रेज़ी अक्षरों और रिक्त स्थान आप सब कुछ, इस तरह से अपनी बुरा यूनिकोड पत्र सहित निकाल देते हैं सकता है:
>>> import re
>>> country = u'FRANCE\ufeff'
>>> clean_pattern = re.compile(u'[^A-Z ]+')
>>> clean_pattern.sub('', country)
u'FRANCE'
आप कर सकते हैं टी अनुमत वर्णों के एक सेट को परिभाषित करता है, आप गहरी परेशानी में हैं, क्योंकि यह आपके काम को हजारों संभावित अप्रत्याशित यूनिकोड वर्णों की उम्मीद करने के लिए बन जाता है जिन्हें आप पर फेंक दिया जा सकता है - और चश्मा में अधिक से अधिक जोड़े गए हैं जैसे-जैसे वर्षों में भाषाएं विकसित होती हैं।
मुझे आश्चर्य है कि यह स्ट्रिंग कहां से आई थी। –
यह विराम चिह्न नहीं है। इसका अस्तित्व कुछ अपस्ट्रीम प्रक्रिया में सकल विफलता को इंगित करता है। –
गंभीरता से, आप सातवीं चरित्र के रूप में बीओएम के साथ पृथ्वी पर कैसे पहुंचे? –