2015-09-26 70 views
0

我正在使用iOS Swift項目,需要OCR數據,然後搜索關鍵短語的文本。該OCR輸出看起來是這樣的:如何在iOS中使用Swift格式化字符串?

配料水,紅糖,紅熟

濃縮番茄,蘋果CIDERVINEGAR

W01CESTERSHlWSMJCE(WATERW4EGAR玉米

糖漿,鹽,磨拉石,香料,天然香料

大蒜粉,焦糖色,鳳尾魚

CFlSril,TAMARiN0),糖蜜,LEMONĴ UICE,

洋蔥,蜂蜜,改性澱粉TAVIOCA,

當我搜索 「玉米糖漿」 的字符串,沒有什麼發現。搜索「玉米」和「糖漿」確實產生了積極的結果。

我也曾嘗試

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

無濟於事。

有關如何格式化該文本以進行搜索以允許「玉米糖漿」被識別的任何想法?限定詞是,只有確切的短語是有用的 - 畢竟有玉米,玉米澱粉,楓糖漿等作爲潛在的成分。

謝謝。

確定這裏是工作

的解決方案 'textView.text = tesseract.recognizedText.stringByReplacingOccurrencesOfString( 「\ n」,withString: 「」 選項:NSStringCompareOptions.LiteralSearch,範圍:無)'

我認爲最初的代碼是完成相同的任務。

+0

爲什麼不用換行符替換空格?那麼「玉米糖漿」就會起作用。 – matt

+0

你的問題的標題與這個問題有什麼關係? – rmaddy

回答

2

如果要搜索「玉米糖漿」,你很可能需要取代所有新線與空間(並最好檢查雙重空間,並與單個空格替換)。

字符識別的質量不是很好,我認爲文本在用於搜索之前應該得到更多的維護。例如,您可能會將短語分成單個字符串陣列,然後從開始和結尾修剪空格等,也許您可​​以使用UITextChecker來幫助識別拼寫錯誤的術語並修復它們...

+0

謝謝。這是解決方案 –

0

這是因爲「玉米糖漿「,這是你正在尋找的字符串,不同於」corn \ nsyrup「,這就是你的文本牆所展現的。

您可以改爲嘗試搜索「corn \ nsyrup」或「corn \ nsyrup」。

請注意您的圖片「corn \ nsyrup」如何產生相同的結果,以至於您的文字牆顯示出來?

此外,用「」替換「\ n」的代碼可能不起作用,因爲它可能是「corn \ n糖漿」,這將使它之間有2個空格。

Picture to Compare

相關問題