2013-05-13 10 views
7

Con copia/incolla, uno dei miei clienti inserisce in un campo di testo della mia app IOS un testo contenente Zero Width Space [E2 80 8B] e voglio rimuovere loro.IOS Come rimuovere Zero Width Space [E2 80 8B] da NSString

ecco un esempio di testo: Basse température avec dégivrage électrique

quello che ho provato:

sequenza
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 
} 

Il hexa è nella stringa ma non riesco a rimuoverlo. Qualcuno ha già avuto questo problema?

risposta

11

Lo "spazio di larghezza zero" è il carattere Unicode \U200B. E2 80 8B è la codifica UTF-8.

Prova questo:

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

BTW - il tuo tentativo di fare:

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

risultati in una stringa non valida perché non ci sono caratteri Unicode per 80 e 8B.

+0

Coooool, molte grazie Maddy, funziona perfettamente con la vostra soluzione. –

Problemi correlati