2013-11-02 9 views
7

Ich habe eine Zeichenfolge und ich versuche, die ersten 2 Zeichen und den Rest der Zeichenfolge zu erhalten. Dies ist, wie ich versuche, es zu tun:Erhalten Sie die ersten zwei Zeichen von NSString

NSString *textAll = [arrayOfMessages objectAtIndex:indexPath.row]; 
NSString *textMessage = [textAll substringFromIndex:2]; 
NSString *textType = [textAll substringToIndex:1]; 

die TEXTALL hat diese Form: Hethe Nachricht selbst .....

Texttype zurückkehren sollte ‚HE‘ Textm zurückgeben sollte ‚die Nachricht selbst. ....‘ Kurzmitteilung gibt mir jetzt die Nachricht, aber ich kann nicht scheinen zu können, die Texttype bekommen ...

+0

@Alessandro * ich nicht die Texttype scheinen zu können, kann bekommen * ist nicht sehr nützlich. Was ist das erwartete Ergebnis und was ist das tatsächliche Ergebnis? Ich vermute, du bekommst 'H' anstelle von' HE', in diesem Fall solltest du Martins Antwort betrachten –

+1

Da du gerade 'H' für' textType' anstelle von 'HE' bekommst, würde es logisch erscheinen, das' '' zu ändern 1 zu einer 2, oder? Ich würde denken, dass es etwas wert wäre, es lange zu versuchen, bevor man eine Frage zu SO stellt. – rmaddy

+0

mögliches Duplikat von [Wie erhält man die ersten drei Zeichen eines NSString?] (Http://stackoverflow.com/questions/5294607/how-to-get-first-three-characters-of-nanstring) – Laszlo

Antwort

22

um die ersten beiden Zeichen einer Zeichenfolge zu erhalten, die Sie wünschen:

NSString *textType = [textAll substringToIndex:2]; // <-- 2, not 1 

Aus der Dokumentation:

substringToIndex:

Gibt einen neuen String, der die Zeichen der der Empfänger bis zu, aber nicht einschließlich, die man zu einem bestimmten Index enthält.

(Beachten Sie, dass die Methode erwartet, dass die Zeichenfolge mindestens 2 Zeichen lang ist, sonst ist es eine Ausnahme auslöst.)

Verwandte Themen