2009-08-29 17 views
23

मैं 'ट्यूबों भर में किया गया है और मैं इस एक को समझ नहीं सकता। सरल हो सकता है।पलायन एकल उद्धरण()

निम्नलिखित String.Format कॉल:

return dt.ToString("MMM d yy 'at' H:mmm"); 

सही ढंग से इस रिटर्न:

सितं, 23 08 12:57

अब पर मान लीजिए कि मैं पहले एक एकल उद्धरण जोड़ना चाहते हैं चलो साल, यह वापस जाने के लिए:

सितं, 23 '08 12:57

के बाद से एकल उद्धरण एक आरक्षित एस्केप वर्ण है, पर, कैसे मैं एकल उद्धरण से बचने के लिए यह प्रदर्शित करने के लिए प्राप्त करने के लिए करते हैं?

मैं डबल, ट्रिपल, और ट्रैक्टर एकल उद्धरण की कोशिश की है, कोई भाग्य के साथ।

उत्तर

33

पोस्ट कर रहा है के आधार पर कुछ परीक्षण नहीं है क्या आपको बचाना होगा। या तो

return dt.ToString(@"MMM d \'yy 'at' H:mmm"); 

या

return dt.ToString("MMM d \\'yy 'at' H:mmm"); 
+3

, मैं जिस तरह से आप {{{एक 'String.Format में curlies()' से बचने के लिए और अस्थायी रूप से मेरे मन खो दिया .. धन्यवाद करना है से मंत्रमुग्ध हो गया! –

+6

ओह मैन! इस स्वीकृत उत्तर को अब मेरे सीवी पर जाना है ...; ^) –

+0

इस मामले में% वर्ण अनावश्यक हैं क्योंकि% d और% H अन्य प्रारूप पैटर्न के साथ संयुक्त होते हैं। यह उनके बिना थोड़ा स्पष्ट बनाता है। –

4

तुम बस अगर यह HTML के लिए है, HTML इकाई इस्तेमाल कर सकते हैं।

- संपादित करें

' 

-, संपादित करें

बस इस पोस्ट गलत नहीं बनाने के लिए, के रूप में हर किसी ने उल्लेख किया है भागने ठीक काम करता है :)

string s = t.ToString("MMM d \\'yy 'at' H:mmm"); 

और वह है पिछली बार मैं आपको बैकस्लेश क का उपयोग करके उसे कर सकते हैं :)

+0

+1 !!! सही कहा!! मेरे बचाव में – aProgrammer

2

मैं सी # @ तार की तरह नहीं जब तक कि मैं वास्तव में उन्हें का उपयोग करें ताकि मैं वास्तव में इस के साथ जाना होगा की क्या ज़रूरत है।

return dt.ToString("MMM d \\'yy 'at' H:mmm"); 

यह केवल एक वरीयता है जिसके लिए आपको "पढ़ना" आसान लगता है। पिछली लाइन के लिए

+2

एक यूनिट परीक्षण लिखने का प्रयास करें जो एक वर्ग का परीक्षण करता है जो बच निकले वर्णों का पता लगाता है और उन्हें संसाधित करता है। आप एक बड़ी जल्दी में @ तारों से प्यार करना शुरू कर देंगे। –

+0

regexes लिखने के 5 मिनट बाद, मैंने @ तारों को भी प्यार करना शुरू कर दिया। :-) –

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