gpt4 book ai didi

iphone - NSRegularExpression 搜索未知值

转载 作者:行者123 更新时间:2023-11-29 04:27:34 25 4
gpt4 key购买 nike

所以我正在开发一个 iPhone 应用程序,它拍摄一些文本的图片,图片经过 OCR 处理并发回给我,然后我使用正则表达式在字符串中搜索 double 值,最多可达xxxx.xx。

NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern:@"\\d?\\d?\\d?\\d?\\.\\d?\\d?"
options:0
error:&error];

NSRange range = [regex rangeOfFirstMatchInString:result
options:0
range:NSMakeRange(0, [result length])];

if([result length] > 0)
{
NSString *subString = [result substringWithRange:range];

double r = [subString doubleValue];

现在它正在按我想要的方式工作,但它只获取它到达的第一个数字。 double 的数量可能是不确定的,我需要得到最大的一个。最好的方法是什么?

最佳答案

使用 matchesInString:options:range: 而不是 rangeOfFirstMatchInString。这将为您提供一个 NSTextCheckingResult 对象数组,您可以从中提取范围。

NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern:@"\\d?\\d?\\d?\\d?\\.\\d?\\d?"
options:0
error:&error];
NSArray *arr = [regex matchesInString:string options:NSMatchingReportCompletion range:NSMakeRange(0,string.length)];
for (NSTextCheckingResult *obj in arr) {
double r = [[string substringWithRange:obj.range] doubleValue];
NSLog(@"%f",r);
}

关于iphone - NSRegularExpression 搜索未知值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12118163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com