2013-05-13 35 views
7

コピー/ペーストで、私のクライアントの1人がIOSアプリケーションのテキストフィールドにゼロ幅スペース[E2 80 8B]を含むテキストを入れて削除したいそれら。IOSゼロ幅スペース[E2 80 8B]をNSStringから削除する方法

はここにテキストの例です:バース温度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文字\U200Bです。 E2 80 8Bは、UTF-8エンコーディングです。

このお試しください:ところで

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

を - 行うには、あなたの試み:無効な文字列で

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

結果を808BにはUnicodeの文字が存在しないため。

+0

クーオル、多くのおかげでマディ、あなたのソリューションと完全に動作します。 –

関連する問題