尝试下面的代码来替换你想要的字符,
NSString *cluasesText = @"آخرین حقوق کارگر را بهعنوان \"حق سنوات\" به وی ";
NSCharacterSet *charsToBeReplace = [NSCharacterSet characterSetWithCharactersInString:@"/:.\""];
cluasesText = [[cluasesText componentsSeparatedByCharactersInSet: charsToBeReplace] componentsJoinedByString: @""];
希望它可以帮助你......
编辑和更新:
由于要求通过@Husein Behboodi RAD,让我解释发生了什么问题,
在你的阿拉伯语文本中第一次出现转义字符“\”有不同unicode数字\ u005c \ u0022比第二个\“one \ u005c \ u0022 \ u200c,如果你复制并粘贴第一个转义字符,即\”,然后第二个转义字符ie \“在char到unicode转换器它会显示你不同的unicode,因为它们都是不同的。
在你的字符串替换的第一线
所以,
cluasesText = [cluasesText
stringByReplacingOccurrencesOfString:@"\"" withString:@"*****"];
你已经进入了正常的英文双引号如\”的比赛中第一次出现和stringByReplacingOccurrencesOfString方法只替换已匹配的确切字符串字符串(用相同的Unicode),第二个双引号可能是左或右双引号,
所以,如果你必须给它一个尝试,只需添加以下代码,
NSString *cluasesText = @"آخرین حقوق کارگر را بهعنوان \"حق سنوات\" به وی ";
cluasesText = [cluasesText
stringByReplacingOccurrencesOfString:@"\"" withString:@"*****"];
cluasesText = [cluasesText
stringByReplacingOccurrencesOfString:@"\"" withString:@"*****"];
,你会得到的输出作为
آخرین حقوق کارگر را بهعنوان *****حق سنوات***** به وی
所以,现在怎么来characterSetWithCharactersInString正在为这个问题,所以我不是字符集,但专家恕我直言,characterSetWithCharactersInString方法替换字符串发生不考虑字符串的unicode部分相同,而stringByReplacingOccurrencesOfString withString用精确的unicode匹配字符串替换字符串。
这是我现在可以解释你的。
你期望 –
输出我更新我的帖子 –