如何在iOS中使用Swift格式化字符串?

时间:2015-09-26 03:01:44

标签: ios swift

我正在开发一个iOS Swift项目,它接受OCR数据,然后在文本中搜索关键短语。 OCR输出如下所示:

成分水,棕色糖,红色RIPE

TOMATO CONCENTRATE,APPLE CIDERVINEGAR

W01CESTERSHlWSMJCE(WATERW4EGAR CORN

SYRUP,SALT,MOLASSE,SPICE,NATURAL FLAVOR

大蒜粉,CARAMEL COLOR,ANCHOVIES

CFlSril,TAMARiN0),MOLASSES,LEMON JUICE,

<洋葱,蜂蜜,改良TAVIOCA淀粉,

当我在字符串中搜索“玉米糖浆”时,没有找到任何东西。寻找“玉米”和“糖浆”确实产生了积极的结果。

我也试过

tesseract.recognizedText.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())

无济于事。

有关如何格式化此文本进行搜索以便识别“玉米糖浆”的任何想法?限定词只是确切的短语是有用的 - 毕竟有玉米,玉米淀粉,枫糖浆等作为潜在的成分。

感谢。

好的,这是有效的解决方案

'textView.text = tesseract.recognizedText.stringByReplacingOccurrencesOfString(“\ n”,withString:“”,options:NSStringCompareOptions.LiteralSearch,range:nil)'

我认为初始代码正在完成同样的任务。

2 个答案:

答案 0 :(得分:2)

如果你想搜索“玉米糖浆”,你很可能需要 替换 所有带空格的新行(然后理想地检查双倍空格并替换为单个空间)。

字符识别的质量不是很好,我认为在用于搜索之前,文本应该得到更多的维护。例如,您可以将短语拆分为单个字符串的数组,然后从开头和结尾修剪空格等,也许您可​​以使用UITextChecker来帮助识别拼写错误的术语并修复它们......

答案 1 :(得分:0)

因为&#34;玉米糖浆&#34;,这是你正在寻找的字符串,与&#34;玉米\ nsyrup&#34;不同,这是什么你的文字墙正在显示。

您可以尝试搜索&#34; corn \ nsyrup&#34;或&#34;玉米\ nsyrup&#34;代替。

在你的照片中注意&#34;玉米\ nsyrup&#34;产生与您的文本墙显示相同的结果?

此外,您的代码将替换&#34; \ n&#34; by&#34; &#34;可能没有用,因为它可能是&#34;玉米\ n糖浆&#34;,这将使它之间有2个空格。

Picture to Compare