大家好我想从字符串中提取最后一部分,这是一个四位数字'03276'i:e http://www.abc.com/news/read/welcome-new-gig/03276
我该怎么做。
答案 0 :(得分:75)
您也可以使用
NSString *sub = [@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent];
答案 1 :(得分:28)
如果您知道需要多少个字符,可以执行以下操作:
NSString *string = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSString *subString = [string substringFromIndex:[string length] - 5];
如果你只是知道它是最后一次斜线之后的部分,你可以这样做:
NSString *string = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSString *subString = [[string componentsSeparatedByString:@"/"] lastObject];
答案 2 :(得分:5)
由于* nix使用与URL相同的路径分隔符,因此也是有效的。
[@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent]
答案 3 :(得分:3)
如果您知道号码的长度,并且它不会改变,它可以像以下一样简单:
NSString *result = [string substringFromIndex:[string length] - 4];
答案 4 :(得分:3)
如果字符串的最后一部分长度始终相同(5个字符),您可以使用此方法提取最后一部分:
- (NSString *)substringFromIndex:(NSUInteger)anIndex
使用字符串的长度来确定起始索引。
这样的事情:
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);
(未经过测试的代码)
答案 5 :(得分:1)
NSString *str = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSArray *arr = [str componentSeparatedBy:@"gig/"];
NSString *strSubStringDigNum = [arr objectAtIndex:1];
strSubStringDigNum 的值为03276
答案 6 :(得分:0)
试试这个:
NSString *myUrl = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSString *number = [[myUrl componentsSeparatedByString:@"/"] objectAtIndex: 5];