2010-03-22 15 views
33

मेरे पास एक लंबा एनएसएसटींग है जिसमें मैं विशेष पात्रों को बदलने की कोशिश कर रहा हूं। मेरी स्ट्रिंग के भाग इस प्रकार है:एनएसएसटींग की घटनाओं को बदलें - आईफोन

"veau (c\u00f4telette)","veau (filet)","agneau (gigot)","agneau (c\u00f4telette)","b**\u0153**uf (hach\u00e9)","porc (hach\u00e9)" 

मैं चाहूँगा के साथ "ँ" सभी \ u0153 को बदलने के लिए। मैं कोशिश की है:

[response stringByReplacingOccurrencesOfString:@"\u0153" withString:@"oe"]; 

लेकिन यह काम नहीं करता है .... मैं क्यों समझ में नहीं आता!

उत्तर

78

बैकस्लैश एक escape character है, इसलिए शाब्दिक एक स्ट्रिंग में वास्तविक बैकस्लैश चरित्र निर्दिष्ट करने के लिए अगर आप चाहते हैं, तो आप दो बैकस्लेश का उपयोग करने की आवश्यकता है।

NSString *new = [old stringByReplacingOccurrencesOfString: @"\\u0153" withString:@"oe"]; 
+0

वह था! धन्यवाद!!!! – ncohen

+0

क्या होगा यदि मुझे "veau" और "u0153" – TechnocraT

+0

जैसे स्ट्रिंग के दो अलग-अलग घटकों को प्रतिस्थापित करना है, तो उन्हें घोंसला दें! – iOSdev

7

NSString अपरिवर्तनीय है, इसलिए समारोह एक नया स्ट्रिंग आप स्टोर करने के लिए है कि उत्पन्न करता है:

NSString *new = [old stringByReplacingOccurrencesOfString:@"\u0153" withString:@"oe"]; 
+0

क्षमा करें, मैं यह उल्लेख करना भूल गया कि यह पहले से ही मामला है ... अभी भी काम नहीं करता है! – ncohen

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