给出以下模式:“## - ## - ##”,其中“##”表示1或2位整数,分隔数字的最佳方法是什么?
一些背景:我有一个NSString对象数组。从这个数组我创建一个新的可变数组,将一些字符串转换为NSNumbers(这是有效的)。一些字符串具有上面显示的模式(模式代表胜利,损失和联系)。我想添加到可变数组,字符串(按原样)以及作为NSIntegers的胜利,损失和联系。
我不知道使用NSScanner或NSRegularExpression是否更好。我之前没有使用过这些,我不知道如何设置它们并返回我需要的信息。
提前致谢,
布拉德
答案 0 :(得分:1)
您可以使用[NSString componentsSeparatedByString:@"-"]
。对于你的情况很简单。其余的我认为这是矫枉过正的。
NSString *completeString= @"20-33-89";
NSArray *numbers = [completeString componentsSeparatedByString:@"-"];
答案 1 :(得分:1)
如果您想使用NSRegularExpression,请尝试这样: -
NSRegularExpression *regex =
[NSRegularExpression
regularExpressionWithPattern:@"-"
options:NSRegularExpressionCaseInsensitive
error:nil];
NSArray *matches = [regex
matchesInString:string options:0
range:NSMakeRange(0, [string length])];