【发布时间】:2011-09-20 09:02:42
【问题描述】:
大家好,我想从字符串中提取最后一部分,它是一个四位数字 '03276' i:e http://www.abc.com/news/read/welcome-new-gig/03276
我该怎么做。
【问题讨论】:
大家好,我想从字符串中提取最后一部分,它是一个四位数字 '03276' i:e http://www.abc.com/news/read/welcome-new-gig/03276
我该怎么做。
【问题讨论】:
你也可以使用
NSString *sub = [@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent];
【讨论】:
如果你知道你需要多少个字符,你可以这样做:
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];
【讨论】:
由于 *nix 使用与 URL 相同的路径分隔符,这也是有效的。
[@"http://www.abc.com/news/read/welcome-new-gig/03276" lastPathComponent]
【讨论】:
如果你知道数字的长度,并且它不会改变,那么它可以很简单:
NSString *result = [string substringFromIndex:[string length] - 4];
【讨论】:
如果字符串的最后一部分总是相同的长度(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);
(代码未测试)
【讨论】:
NSString *str = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSArray *arr = [str componentSeparatedBy:@"gig/"];
NSString *strSubStringDigNum = [arr objectAtIndex:1];
strSubStringDigNum 的值为 03276
【讨论】:
试试这个:
NSString *myUrl = @"http://www.abc.com/news/read/welcome-new-gig/03276";
NSString *number = [[myUrl componentsSeparatedByString:@"/"] objectAtIndex: 5];
【讨论】: