2011-06-22 40 views
26

Merhaba geçen yol parçasını alın i dört basamaklı bir sayı '03276' i olan dizesinden son bölümünü ayıklamak istediğiniz tüm: E bunu yapabilirim nasıl http://www.abc.com/news/read/welcome-new-gig/03276NSString

.

cevap

73

değerine sahip olacaktır (5 karakter) Son bölümü çıkarmak için bu yöntemi kullanabilirsiniz:

- (NSString *)substringFromIndex:(NSUInteger)anIndex 

Başlama dizinini belirlemek için dizenin uzunluğunu kullanın. Böyle

şey:

NSString *inputStr = @"http://www.abc.com/news/read/welcome-new-gig/03276"; 
NSString *newStr = [inputStr substringFromIndex:[inputStr length]-5]; 
NSLog(@"These are the last five characters of the string: %@", newStr); 

(Kod test edilmedi)

+2

Sonunda kullanışlı bir işlev işlevi! – Burf2000

+0

Merhaba @Pierre, neden 'lastPathComponent' kullandınız? Ne demek? – Adela

+0

@Adela bunu kullandı, çünkü tam olarak ne istediğini yapan bir NSString yöntemidir. Ve elbette, API'nin sağladığı yöntemi kendi mantığınızı yazmaktan daha kolay bir yöntemdir. ve isminin tam olarak söylediği anlamına gelir. Bir yolun son bileşenini size döndürür. Bazı ip ve örnek örnekleri için https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/#//apple_ref/occ/instp/NSString/lastPathComponent sayfasına bakın. değer. – Pierre

0

bu deneyin:

NSString *myUrl = @"http://www.abc.com/news/read/welcome-new-gig/03276"; 

NSString *number = [[myUrl componentsSeparatedByString:@"/"] objectAtIndex: 5]; 
+3

: 5 Eğer yapıyoruz emin adres değişirse http://www.abc.com/news/read/welcome-new-gig/ gibi bir şey için, SADECE o belirli bir adres çalışır BİR ANASAYFA/03276, onu kırar. – EmilioPelaez

28

İhtiyacınız kaç karakter biliyorsanız, böyle bir şey yapabilirsiniz:

NSString *string = @"http://www.abc.com/news/read/welcome-new-gig/03276"; 
NSString *subString = [string substringFromIndex:[string length] - 5]; 

sadece son çizgiden sonra parçası olduğunu biliyorsanız, Bunu yapabilirsin:

NSString *string = @"http://www.abc.com/news/read/welcome-new-gig/03276"; 
NSString *subString = [[string componentsSeparatedByString:@"/"] lastObject]; 
3

Sayının uzunluğunu biliyorsanız ve değişmeyecekse, bu kadar kolay olabilir. : Dizesinin son bölüm hep aynı uzunlukta ise

NSString *result = [string substringFromIndex:[string length] - 4]; 
1
NSString *str = @"http://www.abc.com/news/read/welcome-new-gig/03276"; 
NSArray *arr = [str componentSeparatedBy:@"gig/"]; 
NSString *strSubStringDigNum = [arr objectAtIndex:1]; 

strSubStringDigNum Ayrıca

NSString *sub = [@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent]; 
2

kullanabilirsiniz 03276

4

* nix yana bu yanı geçerli olacak URL ile aynı yolu ayracı kullanır. objectAtIndex kullanarak

[@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent]