2010-04-05 3 views
30

Supponiamo che io ho la stringaCome sostituire un personaggio in NSString senza inserire uno spazio?

NSString* myString = @"Hello,"; 

Come posso rimuovere la virgola senza lasciare uno spazio? Ho provato:

NSString* newString = [myString stringByReplacingOccurrencesOfString:@"," withString:@""]; 

e

NSString* newString = [myString stringByTrimmingCharactersInSet:[NSCharacterSet punctuationCharacterSet]]; 

ma entrambi sono lasciare spazi.

+8

No, non lo è, sta accadendo qualcos'altro. –

+2

Come stai verificando che ci sia uno spazio? Puoi mostrare quel codice? Scommetto che il problema è lì. –

+0

Sto mettendo a fuoco le mie corde. Ho separato Ciao e il, come due token separati. Quando si costruiva una stringa fuori dai token, c'era uno spazio tra Hello e, –

risposta

101

Ho appena eseguito il seguente come un test

NSString * myString = @"Hello,"; 

NSString * newString = [myString stringByReplacingOccurrencesOfString:@"," withString:@""]; 

NSLog(@"%@xx",newString); 

e ottengo 2010-04-05 18:51:18.885 TestString[6823:a0f] Helloxx come output. Non c'è spazio rimasto.

0
NSString *newString = [myString substringToIndex:5]; 

che farà in modo che ci sono solo 5 caratteri della stringa, ma attenzione che questo sarà anche un'eccezione se non ci sono almeno 5 caratteri nella stringa per cominciare. Come stai gestendo questa stringa? Viene visualizzato all'utente? È stato scritto su un file? Il codice che hai postato non riproduce l'errore, quindi forse dovresti pubblicare il codice con il quale stai avendo un problema.

0

l'altro modo u possibile utilizzare .. di stringByReplacingCharactersInRange

token = [token stringByReplacingCharactersInRange:NSMakeRange(i, 1) withString:@"*"]; 

"token" è il vostro desidera sostituire il NSString e "i" è che si desidera modificare NSString da "*"