2009-07-02 5 views

Antwort

232

können Sie verwenden, um die NSString Instanzmethoden substringWithRange: oder substringFromIndex:

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

oder

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

Ich beantwortete fast Zeichen für Zeichen auf dem substringFromIndex: Teil, so gelöscht und Upvoted Ihre Antwort, wie es vollständiger – Xetius

+0

Danke ist. –

+12

Sie sollten auch überprüfen, ob mindestens drei Zeichen in der Zeichenfolge enthalten sind. –

2

die Sie interessieren,

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

Dies ist eine Lösung, die ich speziell regelmäßig gesehen haben zum Entfernen Vorkommen von Präfixen und Lösen der Antwort äh zu der Frage Wie entferne ich "A. „?

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

Dieser Code entfernen, was Sie ihm sagen/Wechsel zu entfernen, wenn der Zeichensatz vorhanden ist, wie“ A. ", auch wenn die drei Zeichen (oder mehr/weniger) in der Mitte der Zeichenfolge sind.

Wenn Sie rahul entfernen möchten, können Sie. Es ist vielfältig, dass Sie genau angeben, was Sie entfernen oder ändern möchten." und wenn es irgendwo in der Zeichenfolge vorhanden ist, wird es entfernt oder geändert.

Wenn Sie nur eine bestimmte angegebene Anzahl von Zeichen von der Vorderseite des Textes, die immer zufällig oder unbekannt sind, entfernt werden möchten, verwenden Sie die [string length] Methode wie ist die oberste Antwort

Wenn Sie entfernen oder bestimmte Zeichen ändern, die wiederholt auftreten r, die Methode, die ich benutzt habe, ermöglicht das, ähnlich wie Wordsearch in Dokumenteneditoren.

+0

Dies funktioniert nur, wenn die Zeichenfolge mit "A." beginnt und an keiner anderen Stelle "A." enthält. Zum Beispiel wird es nicht funktionieren für "BlahA. Hallo" – Fogmeister

+0

Ok, also möchte ich die ersten drei Zeichen aus diesen beiden Strings entfernen ... "Hallo, Welt!" Und "Foo Bar". Wie werden Sie das mit Ihrer Lösung machen? – Fogmeister

+0

@Fogmeister, lies das Update. Der Punkt ist, wenn es einen gemeinsamen Zeichensatz oder etwas Spezifisches gibt, wie die gestellte Frage "A. ', können Sie ohne eine Zählung entfernen. Es ist nur ein weiterer Vorschlag, kein Grund, frustriert zu werden :-) –

-1

Es ist ganz einfach:

myString = [myString subStringFromIndex:3] 

Das ist es.

+5

Das ist schon in der akzeptierten Antwort ... – brandonscript