2009-07-02 18 views

risposta

232

È possibile utilizzare i metodi di istanza NSStringsubstringWithRange: o substringFromIndex:

NSString *str = @"A. rahul VyAs"; 
NSString *newStr = [str substringWithRange:NSMakeRange(3, [str length]-3)]; 

o

NSString *str = @"A. rahul VyAs"; 
NSString *newStr = [str substringFromIndex:3]; 
+2

Ho risposto quasi a carattere per carattere sulla sottostringaFromIndex: parte, quindi cancellato e messo in risalto la risposta in quanto è più completo – Xetius

+0

Grazie. –

+12

Si dovrebbe anche verificare se ci sono almeno 3 caratteri nella stringa. –

2

Prova questo,

char *string=[@"A. rahul VyAs" cStringUsingEncoding:NSUTF8StringEncoding]; 
char *subString=&name[3]; 
NSString *newString=[NSString stringWithCString:subString encoding:NSUTF8StringEncoding]; 
1

Questa è una soluzione che ho visto in particolare per la rimozione regolarmente prefissi che si verificano e risolvendo la risposta er alla domanda Come rimuovere "A. "?

NSString * name = @"A. rahul VyAs"; 
NSString * prefixToRemove = @"A. "; 
name = [name stringByReplacingOccurrencesOfString:prefixToRemove withString:@""]; 

Questo codice rimuoverà ciò che si dice di rimuovere/cambiamento se il set di caratteri esiste, come ad esempio" A. ", anche se i tre caratteri (o più/meno) sono nel mezzo della stringa

Se si desidera rimuovere rahul, è possibile. È diverso in quanto si specifica esattamente ciò che si desidera rimosso o modificato, e se esiste ovunque nella stringa, verrà rimosso o modificato

Se si desidera rimuovere solo un determinato numero di caratteri dalla parte anteriore del testo che è sempre casuale o sconosciuto, utilizzare la [lunghezza della stringa] metodo come è la risposta superiore

Se si desidera rimuovere o modificare determinati caratteri che ripetutamente si appea r, il metodo che ho usato lo abiliterà, simile a Wordsearch sugli editor di documenti.

+0

Funzionerà solo se la stringa inizia con "A." e non contiene "A." altrove. Ad esempio, non funzionerà con "BlahA. Hello" – Fogmeister

+0

Ok, quindi voglio rimuovere i primi tre caratteri da queste due stringhe ... "Ciao, mondo!" E "Foo Bar". Come lo farai con la tua soluzione? – Fogmeister

+0

@Fogmeister, leggi l'aggiornamento. Il punto è, se c'è un set di caratteri comuni o qualcosa di specifico, come la domanda posta ha dichiarato 'A. ', puoi rimuovere senza contare. È solo un altro suggerimento, non c'è bisogno di sentirsi frustrati :-) –

-1

E 'questa semplice:

myString = [myString subStringFromIndex:3] 

Questo è tutto.

+5

Questo è già nella risposta accettata ... – brandonscript

Problemi correlati