मैं एक फ़िल्टर कर रहा हूं जिसमें मैं जांचता हूं कि एक यूनिकोड (utf-8 एन्कोडिंग) स्ट्रिंग में कोई अपरकेस वर्ण नहीं है (सभी भाषाओं में)। यह मेरे साथ ठीक है अगर स्ट्रिंग में कोई भी कैस्ड कैरेक्टर नहीं है।पायथन: कैसे जांचें कि यूनिकोड स्ट्रिंग में एक कैस्ड कैरेक्टर है या नहीं?
उदाहरण के लिए: 'हैलो!' फिल्टर पास नहीं करेगा, लेकिन "!" फ़िल्टर को पास करना चाहिए, क्योंकि "!" एक cased चरित्र नहीं है।
मैंने आइसोवर() विधि का उपयोग करने की योजना बनाई, लेकिन ऊपर दिए गए उदाहरण में, "!"। Islower() झूठी वापसी करेगा।
पायथन डॉक्स के अनुसार, "पाइथन यूनिकोड विधि islower() सही लौटाता है अगर यूनिकोड स्ट्रिंग के कैज्ड वर्ण सभी लोअरकेस हैं और स्ट्रिंग में कम से कम एक cased चरित्र होता है, अन्यथा, यह गलत होता है।"
चूंकि स्ट्रिंग में किसी भी प्रकार का कैरेक्टर नहीं होता है, यानी विधि भी गलत होती है। "!", मैं जांच करना चाहता हूं कि स्ट्रिंग में कोई भी कैस्ड कैरेक्टर है या नहीं।
इस तरह कुछ ....
string = unicode("[email protected]#$%^", 'utf-8')
#check first if it contains cased characters
if not contains_cased(string):
return True
return string.islower():
एक contains_cased() फ़ंक्शन के लिए कोई सुझाव?
या शायद एक अलग कार्यान्वयन दृष्टिकोण?
धन्यवाद!
आपके द्वारा स्वीकार किया गया उत्तर गलत प्रतीत होता है। मेरा जवाब देखें –