मैंने उपयोगकर्ता द्वारा दर्ज किए गए एक जीयूआई टेक्स्टबॉक्स से एक स्ट्रिंग में पढ़ा है और इसे pandoc के माध्यम से संसाधित किया है। स्ट्रिंग में गणित के लिए लेटेक्स निर्देश होते हैं जिनमें बैकस्लैश वर्ण होते हैं। मैं प्रसंस्करण के लिए स्ट्रैंड में कच्ची स्ट्रिंग के रूप में स्ट्रिंग में भेजना चाहता हूं। लेकिन '\ theta' जैसे कुछ एक टैब और 'हेटा' बन जाता है।पायथन: स्ट्रिंग शाब्दिक से कच्चे स्ट्रिंग को शाब्दिक रूपांतरित करने के लिए कैसे?
मैं एक स्ट्रिंग अक्षर को कैसे परिवर्तित कर सकता हूं जिसमें कच्चे स्ट्रिंग में बैकस्लैश वर्ण शामिल हैं ...?
संपादित करें:
धन्यवाद develerx, उड़ान भेड़ और unutbu। लेकिन कोई भी समाधान मेरी मदद करने लगता है। इसका कारण यह है कि अन्य बैकस्लेश-वर्ण हैं जिनके पास अजगर में कोई प्रभाव नहीं पड़ता है लेकिन लेटेक्स में इसका अर्थ है।
उदाहरण के लिए '\ lambda'। सुझाव दिया गया है कि सभी विधियों का उत्पादन
\\lambda
जो लेटेक्स प्रसंस्करण में नहीं जाता है - यह \ lambda के रूप में रहना चाहिए।
एक और संपादित करें:
मैं इस काम मिल सकता है, मैं मैं के माध्यम से किया जाना चाहिए लगता है। @ मार्क: सभी तीन विधियां उत्तर देती हैं जिन्हें मैं नहीं चाहता हूं।
a='\nu + \lambda + \theta';
b=a.replace(r"\\",r"\\\\");
c='%r' %a;
d=a.encode('string_escape');
print a
u + \lambda + heta
print b
u + \lambda + heta
print c
'\nu + \\lambda + \theta'
print d
\nu + \\lambda + \theta
क्या आप वाकई स्ट्रिंग वास्तव में 'शामिल \\ lambda' और अभी दोहरीकरण नहीं है जब आप इसे प्रिंट कर रहे हैं? 'Mystring [1:]' प्रिंट करने का प्रयास करें और देखें कि इसमें अभी भी '\' है या नहीं। कुछ स्थिरता होनी चाहिए - यदि '\ t' टैब में कनवर्ट हो रहा है तो' \\ 'को' \ 'में परिवर्तित करना चाहिए। –
क्या आप GUI टेक्स्टबॉक्स से प्राप्त स्ट्रिंग के 'repr' को पोस्ट कर सकते हैं, और उस कोड को दिखा सकते हैं जिसका उपयोग आप इसे पैंडोक के माध्यम से संसाधित करने के लिए कर रहे हैं? – unutbu
आपका परीक्षण अवास्तविक है। आप इसे टेक्स्टबॉक्स से नहीं प्राप्त कर रहे हैं, आप इसे एक स्ट्रिंग अक्षर के साथ सेट कर रहे हैं, और पाइथन ने इसे पहले से ही 'ए' को असाइन किए जाने तक असंगत रूप से परिवर्तित कर दिया है। उस बिंदु पर अपना मूल पाठ वापस लेना असंभव है। –