2011-07-12 7 views
13

मैं स्ट्रिंग के एक हिस्से को प्रतिस्थापित करने के लिए निम्न कोड का उपयोग कर रहा हूं, यह सामान्य वर्णों (वर्णमाला वर्णों) के लिए काम करता है लेकिन जब यह "•" जैसे प्रतीकों की बात आती है तो यह चरित्र को प्रतिस्थापित नहीं कर सकती है।उद्देश्य सी - एनएसएसटींग में स्ट्रिंग का हिस्सा बदलना?

कोई समाधान?

[myString stringByReplacingOccurrencesOfString:@"•" withString:@"<BULLET_POINT>"]; 

उत्तर

25

तुम सचमुच की तरह "•" एक स्रोत फ़ाइल में गैर- ASCII वर्ण सम्मिलित करने के लिए सक्षम नहीं हो सकता। इसके बजाय भागने \u2022 का उपयोग करने का प्रयास करें।

myString = [myString stringByReplacingOccurrencesOfString:@"\u2022" withString:@"<BULLET_POINT>"]; 
+0

यह विधि की तरह लगता है "stringByReplacingOccurrencesOfString" प्रतिस्थापन के साथ एक नया स्ट्रिंग लौट सकते हैं और यह वास्तव में वर्तमान स्ट्रिंग – aryaxt

+2

@aryaxt संशोधित नहीं करता है: यह सही है, और क्योंकि NSString अपरिवर्तनीय वस्तु है। यदि आपके पास एनएसएमयूटेबलस्ट्रिंग है तो आप 'replaceOccurrencesOfString का उपयोग कर सकते हैं: withString: विकल्प: श्रेणी:' stringByReplacingOccurrencesOfString ... 'के बजाय। – Tommy