我正在使用 AWS Textract 從 PDF 檔案中提取資訊。從 AWS 回傳掃描文本并保存到 var 后,我正在執行以下操作:
phone_number = '(555) 123-4567'
scanned_pdf_text.should have_text phone_number
但是,由于 AWS 回傳掃描的 PDF 文本的非確定性方式,這大約有 20% 的時間失敗。有時,電話號碼可能會出現以下兩種方式之一:
(555)123-4567 或者 (555) 123-4567
有些掃描的文本非常大,如果可以避免的話,我寧愿不進行清理文本的練習(我也不擅長使用正則運算式)。我還認為使用or邏輯來處理這兩種情況似乎有點笨手笨腳,只是為了檢查如此相似(并且顯然與人眼幾乎相同)的文本。
是否有rspec匹配器可以讓我檢查此文本?我也在使用,Capybara.default_normalize_ws = true但在這種情況下似乎沒有幫助。
uj5u.com熱心網友回復:
假設scanned_pdf_text是一個字串,您看到的唯一區別是空格,那么您可以去掉空格并進行比較
scanned_pdf_text.gsub(/\s /, '').should eq('(555)123-4567') # exact
scanned_pdf_text.gsub(/\s /, '').should match('(555)123-4567') # partial
scanned_pdf_text.gsub(/\s /, '').should have_text('(555)123-4567') # partial
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/383470.html
