gpt4 book ai didi

ios - 使用 OCR 识别 double 或 S 中的数字 5

转载 作者:搜寻专家 更新时间:2023-11-01 07:14:38 24 4
gpt4 key购买 nike

我正在构建的收据阅读应用程序上使用 OCR。可以理解的是,OCR 在 S 和 5 之间存在差异。

我的应用程序在餐厅收据中找到通常格式如下的每一行:

 1 Champagne             £505.55
5 Burger with chips £25.00
2 Chips with cheese £5.00
2 Coke £1.50
1 Ketchup £0.50
5 Penny sweets £0.05

目前我可以很好地找到 Int 和文本,我也可以在末尾找到 double,但如果它包含 5,则很少见。是否有一些正则表达式可以通过查看周围环境来确定 5 是否已被替换?我现在只能通过识别货币符号并替换之后的任何事件来假设吗?但有时它很难识别那些或者没有。任何建议或帮助都会很棒。谢谢

编辑:我知道可能没有完美的答案来获得像 555.55 英镑这样显示为 SSS.SS 的艰难价格,但如果有更常见的价格,如 0.50、10.50 或 5.00 等,我很想听听一些建议.再次感谢

更新:

mutating func replaceWhereFivesShouldBe() {

do {

let regEx = try! NSRegularExpression(pattern: "\\s+[0-9S]+\\.[0-9S]{2}")
let range = NSMakeRange(0, self.characters.count)
self = regEx.stringByReplacingMatches(in: self, range: range, withTemplate: "5")
} catch {

return
}

}

最佳答案

使用正则表达式匹配行中 £ 之后的任何文本,并将所有“S”字符替换为“5”。这假设您在货币符号后只会有非字母字符(特别是没有 S 字符)。这个正则表达式应该工作:

£[0-9S]+\.[0-9S]{2}

从那里找到 S 字符的索引并将它们替换为 5。

如果货币符号不存在(或未检测到),只需使用正则表达式来识别货币金额就可以了。根据您的示例,我不希望在项目描述中找到该模式。像这样:

\s+[0-9S]+\.[0-9S]{2}

或者如果货币符号是乱码,通配符如下:

\s+.[0-9S]+\.[0-9S]{2}

关于ios - 使用 OCR 识别 double 或 S 中的数字 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42859445/

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