2015-08-20 7 views
5

में बैकस्लैश से बचने के लिए मैं क्लाउडकिट को स्ट्रिंग मान के रूप में नियमित रूप से अभिव्यक्ति भेज रहा हूं और ऐसा लगता है कि \\\ द्वारा प्रतिस्थापित किया गया है। हालांकि, एक बार जब मैं अपने ऐप से यह मान प्राप्त कर रहा हूं, तो मैं इसे \ के बजाय \\ के साथ अपने मूल रूप में पुन: ट्रांसफॉर्म करना चाहता हूं।स्विफ्ट

मुझे नहीं पता कि स्विफ्ट में इस तरह के भागने वाले पात्रों को कैसे प्रबंधित किया जाए क्योंकि मैं अपने कोड में \ के साथ स्ट्रिंग भी सेट नहीं कर सकता लेकिन क्लाउडकिट से उन्हें प्राप्त करते समय भी मैं उन्हें प्रबंधित करने में सक्षम हूं।

var onlyOneBackslash: String = valueFromCloudKit 
print(onlyOneBackslash) // booking\.com 

कैसे से बचने के लिए बैकस्लैश booking\\.com में booking\.com को बदलने के लिए: यहाँ स्ट्रिंग का एक उदाहरण है?

उत्तर

6

डबल बैकस्लैश केवल आपके कोड में मौजूद है, यह संकलक का एक सम्मेलन है। स्विफ्ट कोड में, स्ट्रिंग में यह कभी मौजूद नहीं है।

यदि आप स्ट्रिंग में डबल बैकस्लैश चाहते हैं तो आपको अपने कोड में चार बैकस्लैश होना चाहिए। या डबल बैकस्लाश के साथ सिंगल बैकस्लैश को प्रतिस्थापित करने के लिए स्ट्रिंग विधि का उपयोग करें।

कोड उदाहरण:

let originalString = "1\\2" 
print("originalString: \(originalString)") 
let newString = originalString.stringByReplacingOccurrencesOfString("\\", withString: "\\\\", options: .LiteralSearch, range: nil) 
print("newString: \(newString)") 

आउटपुट:

originalString: 1\2 
newString: 1\\2 
+0

यदि आप एक स्ट्रिंग चर करने के लिए "1 \ 2" मूल्य चाहते हैं क्या करें? –

+0

यदि आपको स्ट्रिंग में "\" शामिल करने की आवश्यकता है तो इसे "\\" से बचें। [स्ट्रिंग्स एंड कैरेक्टर] देखें (https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/StringsAndCharacters.html#//apple_ref/doc/uid/TP40014097-CH7-ID285) और स्ट्रिंग लिटरेल्स * में विशेष वर्ण * तक स्क्रॉल करें। – zaph

+1

उत्तर ज़ाफ के लिए धन्यवाद, असल में समस्या यह है कि मैं कुछ वेब-सेवा के पैरामीटर के रूप में "\/Date (1310669017000) \ /" भेजना चाहता हूं, यदि मैं इसे से बचता हूं \\ यह उस पैरामीटर को "\\/तिथि (1310669017000) \\/"नहीं" \/दिनांक (1310669017000) \/"। मैं चीज से बच केवल प्रिंट() के साथ काम करता है। –