2013-11-02 16 views
7

Bir dizim var ilk 2 karakteri ve dizenin geri kalanını almaya çalışıyorum. Bu bunu yapmak için çalışıyorum nasıl:NSString'in ilk iki karakterini edinin

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

TEXTALL bu formu vardır: hethe mesajın kendisi .....

textType 'HE' TextMessage 'mesajı kendisi dönmelidir dönmelidir. ....'

+0

@Alessandro * Ben textType elde edebilmek için görünmüyor olabilir * olduğu çok kullanışlı değil. Beklenen sonuç nedir ve gerçek olan nedir? “HE” yerine “H” aldığınızdan şüpheliyim, bu durumda Martin'in cevabına bakmalısınız –

+1

Sadece “HE” yerine “textType” için H 'aldığınızdan beri,“ değiştirmeyi ”düşünmek mantıklı görünecektir. 1 'yerine' 2, değil mi? Ben SO üzerinde bir soru göndermeden önce denemeye değer bir şey olacağını düşünürdüm. – rmaddy

+0

olası bir kopyası [NSString'in ilk üç karakterini nasıl alabilirim?] (Http://stackoverflow.com/questions/5294607/how-to-get-first-three-characters-of-an-nsstring) – Laszlo

cevap

22

bir dizenin ilk iki karakter almak için, istiyorum ... TextMessage şimdi bana mesaj veriyor ama textType elde edebilmek için görünmüyor:

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

:

substringToIndex:

alıcı , kadar ancak, bir Belirtilen dizinde birini içermeyen ait karakterleri içeren yeni bir dize döndürür.

(metot dize aksi bir istisna atar, en az 2 karakter uzunluğunda olduğunu tahmin unutmayın.)