iphone - NSRegularExpression 用于从字符串中检索数字

标签 iphone objective-c regex xcode nsregularexpression

我使用 NSScanner 从下面的文本中检索数字。但有时结果并不像预期的那样。听说 iOS 4 中提供的 NSRegularExpression 类更适合进行这种类型的提取。由于我是 NSRegularExpression 的初学者,我发现 Apple 提供的文档很难理解。任何帮助将不胜感激。谢谢。

输入:

1D03 04 10 17 47 D24--

输出:

03 04 10 17 47 24

前 5 组数字应小于 59,最后一组数字应小于 39。

最佳答案

试试这个..

NSString *originalString = @"1D03 04 10 17 47 D24---";

NSLog(@"%@", originalString);
NSMutableString *strippedString = [NSMutableString 
                                   stringWithCapacity:originalString.length];

NSScanner *scanner = [NSScanner scannerWithString:originalString];
NSCharacterSet *numbers = [NSCharacterSet 
                           characterSetWithCharactersInString:@"0123456789  "];

while ([scanner isAtEnd] == NO) {
    NSString *buffer;
    if ([scanner scanCharactersFromSet:numbers intoString:&buffer]) {
        [strippedString appendString:buffer];

    } else {
        [scanner setScanLocation:([scanner scanLocation] + 1)];
    }
}

NSLog(@"%@", strippedString);

关于iphone - NSRegularExpression 用于从字符串中检索数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7735400/

相关文章:

iphone - 何时更改 UITableViewController 的数据源合适

iphone - MvvmCross:GestureRecognized 绑定(bind)到 ViewModel 操作

python - 在python中使用正则表达式解析查询字符串

javascript - 用于查找所有文本 url 但不在图像 src 中的正则表达式

iphone - 在 Xcode 中制作 iPhone 应用程序时,如何制作应用程序图标而不让手机添加默认的玻璃效果眩光?

iphone - 在没有 Airplay 设备的情况下显示 AirPlay 图标?

iphone - scrollToRowAtIndexPath :atScrollPosition:animated scrolling too slow

ios - NSMutableArray 添加或删除

ios - 它打印哪个内存地址

r - R 正则表达式中的双冒号