कभी-कभी मेरे पास अजीब पात्रों के साथ एक तार होता है। वे ब्राउज़र में दिखाई नहीं दे रहे हैं, लेकिन स्ट्रिंग का हिस्सा हैं और लेन() में गिने जाते हैं। मैं इससे कैसे छुटकारा पा सकता हूं? पट्टी() सामान्य जगह हटा देती है लेकिन संकेत नहीं।पायथन - स्ट्रिंग से छिपे हुए संकेतों को कैसे हटाएं?
उत्तर
वर्ण जिन्हें आप सक्षम हैं और इस
import re
text = re.sub("[^a-z0-9]+","", text, flags=re.IGNORECASE)
की तरह बाकी दूर करने के लिए यह करने के लिए जेड z, A के लिए किसी भी एक के अलावा अन्य पात्रों को हटा देगा चाहते हैं कलेक्ट सेट और 0 9 को
मैं पूरी UTF8 संकेत सेट की जरूरत है:/ – robos85
@ robos85, आप स्ट्रिप करने या पट्टी न करने के लिए कुछ जानकारी चाहिए। तो क्या मुझे लगता है कि आपको utf8 के लिए सभी अमान्य वर्णों को पट्टी करने की आवश्यकता है? इसके लिए एक समाधान है, लेकिन इसमें अदृश्य/गैर-प्रिंट करने योग्य वर्ण शामिल हो सकते हैं। – YOU
उपयोग string
मॉड्यूल से वर्ण श्रेणियां। इसके अलावा
new_string = re.sub("[^{}]+".format(printable), "", the_string)
, अगर आप के सभी पात्रों पर देखना चाहते हैं: आप सभी प्रिंट करने योग्य पात्रों की अनुमति देना चाहते हैं, तो आप आप के जवाब पर
from string import printable
new_string = ''.join(char for char in the_string if char in printable)
भवन कर सकते हैं, तो आप इस re.sub
साथ भी कर सकते हैं एक स्ट्रिंग, यहां तक कि गंदा लोगों, आप हमेशा
print repr(the_string)
जो अमुद्रणीय वर्णों के लिए \x00
तरह बातें दिखाएगा कर सकते हैं।
निश्चित रूप से यह सही जवाब है। – dotancohen
सेकंड्स उत्तर आकर्षण की तरह काम किया, धन्यवाद। – Yehonatan
नियमित अभिव्यक्ति सभी प्रकार के स्ट्रिंग विश्लेषण के लिए एक अच्छा और बहुत सार्वभौमिक उपकरण है। यदि गति एक मुद्दा है, तो स्ट्रिंग क्लास से "अनुवाद" विधि भी आपकी मदद कर सकती है।
सबसे पहले आप एक ('पहचान') मानचित्रण परिभाषित है, जो कुछ भी नहीं बदलेगा:
mapping = map(chr, range(256))
अगर आप प्रत्येक "एक" एक "बी" से, आप अपने मानचित्रण संशोधित बदलना चाहते हैं
mapping[ord('a')] = 'b'
अब आप "का अनुवाद" विधि के लिए तालिका का निर्माण:
table = "".join(mapping)
और
print "abc".translate(table)
प्रिंट "बीबीसी"।
तुम सच में "एक" को हटाना चाहते हैं, तो आप इसके बाद के संस्करण मानचित्रण को संशोधित नहीं है, तालिका का निर्माण और उसके बाद फोन इस प्रकार का अनुवाद:
print "abc".translate(table, "a")
आप "ई.पू." देता है।
तालिका बनने के बाद, अनुवाद विधि बहुत तेज है।
तो आपके मामले में आप मानचित्रण संशोधित ऐसी है कि अपने सभी अवांछित पात्रों एक खाली स्थान के
mapping = map(chr, range(256))
table = "".join(" " if c in unwanted_chars else c for c in map(chr, range(256)))
किया जाता है और len("my string".translate(table).trim())
जो शुरुआत में अवांछित पात्रों और स्ट्रिंग के अंत पर ध्यान नहीं देता उपयोग कर सकते हैं।
या आप len("my string".translate(table, unwanted_chars))
का उपयोग करते हैं जो आपके सभी अवांछित पात्रों को अनदेखा कर देगा।
अच्छा। कल +1 जब मेरे पास फिर से वोट हैं। मैंने अनुवाद के बारे में सोचा लेकिन वाक्यविन्यास को देखने के लिए बहुत आलसी था। – agf
- 1. छिपे हुए मार्कोव मॉडल
- 2. एक छिपे हुए div
- 3. छिपे हुए div
- 4. एक छिपे हुए div
- 5. अपने छिपे हुए
- 6. एचटीएमएल सहायक के साथ बूलियन छिपे हुए और छिपे हुए
- 7. छिपे हुए फ़ील्ड?
- 8. ओवरफ्लो छिपे हुए
- 9. jCarousel एक छिपे हुए div
- 10. छिपे हुए एचटीएमएल तत्व अंतरिक्ष
- 11. मैं एक छिपे हुए div
- 12. AngularJs में छिपे हुए फ़ील्ड
- 13. छिपे हुए मार्कोव मॉडल थ्रेसहोल्डिंग
- 14. जावास्क्रिप्ट छिपे हुए इनपुट ऐरे
- 15. छिपे हुए क्षेत्र में बदलाव को रोकें
- 16. एक छिपे हुए फ़ील्ड को सत्यापित करें
- 17. छिपे हुए पाठ को ब्राउज़र से खींचा जा सकता है?
- 18. Log4Net के छिपे हुए रत्न?
- 19. नोटपैड ++ सभी छिपे हुए वर्ण दिखाता है?
- 20. स्ट्रिंग से सभी वर्णों को कैसे हटाएं
- 21. कैपिबरा के साथ छिपे हुए क्षेत्र को कैसे भरें?
- 22. Jquery और एक छिपे हुए बटन
- 23. django छिपे हुए क्षेत्र में csrf को समझने और CSRFCookie
- 24. वेगा नीचे दिए गए छिपे हुए div
- 25. छिपे हुए क्षेत्र के कैपिबरा परीक्षण मूल्य
- 26. Google एसईओ और छिपे हुए तत्व
- 27. स्ट्रिंग से वर्ण हटाएं
- 28. एक छिपे हुए तत्व की "संभावित" चौड़ाई
- 29. छिपे हुए डेस्कटॉप का स्क्रीनशॉट कैप्चर करें
- 30. वॉयसओवर नियंत्रण छिपे हुए हैं जब
इस समाधान देखें: http://stackoverflow.com/questions/92438/stripping-non-printable-characters-from-a-string-in-python –