2012-10-26 20 views
28

मेरे पास एक स्ट्रिंग है जो मुझे एक पृष्ठ के यूआरएल को बुलेट के साथ पढ़ने से मिली है जिसमें बुलेट सूची की वजह से "•" जैसा प्रतीक है। ध्यान दें कि पाठ पाइथन 2.7 के urllib2.read (webaddress) का उपयोग कर वेब पते से एक HTML स्रोत है।कुछ और पाइथन के साथ स्ट्रिंग में यूनिकोड वर्णों को कैसे प्रतिस्थापित करें?

मुझे यू +2022 के रूप में यूनिकोड चरित्र पता है, लेकिन मैं वास्तव में उस यूनिकोड चरित्र को कुछ कैसे बदल सकता हूं?

मैंने str.replace ("•", "कुछ") करने की कोशिश की;

लेकिन यह काम नहीं करता है ... मैं यह कैसे कर सकता हूं?

+0

स्ट्रिंग का प्रकार क्या है, और पाइथन का कौन सा संस्करण आप उपयोग कर रहे हैं? –

+0

मैं पाइथन 2.7 का उपयोग कर रहा हूं, स्ट्रिंग urllib2.read() – Rolando

+0

से बनाई गई है, मुझे खेद है, मैं अब 'urllib2' का उपयोग करके एक वेबपृष्ठ डाउनलोड नहीं करने जा रहा हूं। 'टाइप' क्या है? 'str' या 'यूनिकोड'? –

उत्तर

47
  1. डिकोड यूनिकोड स्ट्रिंग। मान लिया जाये कि यह UTF-8 एन्कोड:

    str.decode("utf-8") 
    
  2. कॉल replace विधि और वह अपने पहले तर्क के रूप में एक यूनिकोड स्ट्रिंग पारित करने के लिए सुनिश्चित हो:

    str.decode("utf-8").replace(u"\u2022", "*") 
    
  3. UTF-8 में एन्कोड वापस, अगर की जरूरत:।

    str.decode("utf-8").replace(u"\u2022", "*").encode("utf-8") 
    

(सौभाग्य से, अजगर 3 एक को रोकने के लिए इस गंदगी को डालता चरण 3 वास्तव में केवल I/O से पहले ही किया जाना चाहिए। साथ ही, आपको लगता है कि एक स्ट्रिंग str कॉलिंग अंतर्निहित प्रकार str छाया करता है।)

1
import re 
regex = re.compile("u'2022'",re.UNICODE) 
newstring = re.sub(regex, something, yourstring, <optional flags>) 
+1

यह तारांकन नहीं है, यह एक बुलेट (सर्कल आकार) – Rolando

+0

सही है - सिर के लिए धन्यवाद। – David

+2

-1 निश्चित तारों को बदलने के लिए रेगेक्स का उपयोग करने के लिए। – NullUserException

8

यूनिकोड के रूप में एनकोड स्ट्रिंग।

>>> special = u"\u2022" 
>>> abc = u'ABC•def' 
>>> abc.replace(special,'X') 
u'ABCXdef' 
+0

"विशेष" क्या है? मुझे एक नाम मिलता है त्रुटि: नाम 'विशेष' परिभाषित नहीं किया गया है। – Rolando

+0

@ रोलैंडो नोटिस 'यू' स्ट्रिंग में उपसर्ग किया गया है, जो इसे यूनिकोड स्ट्रिंग बनाता है। – igaurav

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