嘗試下面的代碼來替換你想要的字符,
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匹配字符串替換字符串。
這是我現在可以解釋你的。
你期望 –
輸出我更新我的帖子 –