我有一个应用程序的脚本,我一直在提取一个特定的数字 例如:
\n@JulianJear\nApplication Development 4 iPhone and iPad.\n5\n
我还没有找到一种方法来删除“5”而不从该字符串中获取“4”。我想过使用扫描仪,但每个用户的这段文字中的字符数量会有所不同。那么,有什么其他方法可以用来提取这个数字?
答案 0 :(得分:2)
如果要解析的文本总是具有以下格式
<Handle>
<Title>
<Number>
即
\n<Name>\n<Title>\n<Number>\n
您可以使用NSScanner
来解析字符串:
#import <Foundation/Foundation.h>
int main(int argc, char *argv[]) {
@autoreleasepool
{
NSString *string = @"\n@JulianJear\nApplication Development 4 iPhone and iPad.\n5\n";
NSScanner *scanner = [[NSScanner alloc] initWithString:string];
NSCharacterSet *newlineCharacterSet = [NSCharacterSet characterSetWithCharactersInString:@"\n"];
NSString *handle = nil;
NSString *title = nil;
NSString *number = nil;
[scanner scanUpToCharactersFromSet:newlineCharacterSet intoString:&handle];
[scanner scanUpToCharactersFromSet:newlineCharacterSet intoString:&title];
[scanner scanUpToCharactersFromSet:newlineCharacterSet intoString:&number];
NSLog(@"\nhandle=%@\ntitle=%@\nnumber=%d", handle, title, [number intValue]);
}
}
答案 1 :(得分:1)
您可以在\n
上拆分字符串,并查找代表数字的字符串:
NSArray *tokens = [str componentsSeparatedByCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString:@"\n"]];
浏览tokens
数组中的字符串,并取第一个代表数字的字符串。