2013-05-13 64 views
7

通過複製/粘貼,我的一個客戶端在我的IOS應用程序的文本框中輸入了一個包含零寬度空間[E2 80 8B]的文本,我想刪除他們。IOS如何從NSString中刪除零寬度空間[E2 80 8B]

這裏是文本的例子:巴塞溫度AVECdégivrageELECTRIQUE

我的嘗試:

NSString* zarb = [NSString stringWithFormat:@"%c%c%c",0xE2,0x80,0x8B]; 
NSString*resu=[ch stringByReplacingOccurrencesOfString:zarb withString:@""]; 
// does not work 

if ([ch rangeOfString:zarb].location != NSNotFound) { 
     // does not work 
} 

的六序列在字符串中,但我無法將其刪除。 有人已經有這個問題?

回答

11

「零寬度空間」是Unicode字符\U200BE2 80 8B是UTF-8編碼。因爲有808B沒有Unicode字符

NSString* zarb = [NSString stringWithFormat:@"%c%c%c",0xE2,0x80,0x8B]; 

導致一個無效的字符串:你試圖這樣做 - BTW

NSString* zarb = @"\u200B"; 
NSString* resu = [ch stringByReplacingOccurrencesOfString:zarb withString:@""]; 

試試這個。

+0

Coooool非常感謝Maddy,它完美地與您的解決方案配合使用。 – 2013-05-13 20:21:23