2011-04-10 14 views
11

"Merhaba - bu benim" gibi bir NSString var. "-" için arama yapmak ve metni "-" önce ve sonra iki ayrı dizeye yerleştirmek istiyorum.Özel bir karakterle ayrılmış bir NSString'den 2 dizeyi ayıkla

Bunu en iyi şekilde nasıl uygulayacağını bilen var mı?

Max böyle bir derece lokalize ve önemsiz pasajı tüm bu upvotes beni aşan bir çekebileceğini

cevap

45
NSArray *subStrings = [myString componentsSeparatedByString:@"-"]; //or rather @" - " 
NSString *firstString = [subStrings objectAtIndex:0]; 
NSString *lastString = [subStrings objectAtIndex:1]; 
//Add some array range checking to it and you're done. 
+0

nasıl karşılıyor ?! – Regexident

+0

İyi çalıştı, ancak bu @ gibi bir dize varsa "cat @ animal, pen @ thing, mouse @ hardware" dizisini oluşturmak için ideal bir yaklaşım olurdu "kedi, kalem, fare", yani. her karakter dizisinden sonra özel karakter @ ve metin kırparak, tek bir dize olduğunu lütfen unutmayın, yardım edin, teşekkürler :) –

+0

@EshwarChaitanya: Regex eşleştirme. '@' Deseninin 1. grubunu yakalayın (? <=, | ^) (\ W +?) @ \ W +? (? =, | $) "'. Daha fazla yardım için lütfen tamamen ayrı bir soru göndermeyi düşünün. – Regexident

6
NSString *myString = @"123-456-789-1234-2345-3456-4567"; 
NSArray *subStrings = [myString componentsSeparatedByString:@"-"]; 
for (int i = 0; i < [subStrings count]; i++) { 
    NSLog(@"string on array position %d is : %@", i, [subStrings objectAtIndex:i]); 
} 
İlgili konular