我有一个应用程序的脚本,我被困在一种提取特定数字的方法上例如:
\n@JulianJear\nApplication Development 4 iPhone and iPad.\n5\n
我无法想出一种方法来删除“5”而不从该字符串中获取“4”。我曾想过使用扫描仪,但每个用户的这段文本中的字符数量会有所不同。那么,还有什么其他方法可以提取这个数字呢?
我有一个应用程序的脚本,我被困在一种提取特定数字的方法上例如:
\n@JulianJear\nApplication Development 4 iPhone and iPad.\n5\n
我无法想出一种方法来删除“5”而不从该字符串中获取“4”。我曾想过使用扫描仪,但每个用户的这段文本中的字符数量会有所不同。那么,还有什么其他方法可以提取这个数字呢?
如果被解析的文本始终具有以下格式
<Handle>
<Title>
<Number>
IE
\n<Name>\n<Title>\n<Number>\n
您可以使用 anNSScanner
来解析字符串:
#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]);
}
}
您可以在 上拆分字符串\n
,并查找表示数字的字符串:
NSArray *tokens = [str componentsSeparatedByCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString:@"\n"]];
遍历tokens
数组中的字符串,并取第一个表示数字的字符串。