我正在研究OCR,从图像中提取的文本被附加到一个列表中,该列表中有很多转义序列
我怎样才能清理像这样的字符串列表
extracted = ["b'i)\\nSYRUP\\na\\n\\x0c'",
"b'mi.\\n\\x0c'",
"b'100\\n\\x0c'",
"b'Te eT ran\\nSYRUP\\n\\x0c'",
"b'tamol, Ambroxol k\\n\\x0c'",
"b'Guaiphenesin\\n\\x0c'",
"b'Syrup\\n\\x0c'",
"b'ol HCl &\\n\\x0c'",
"b'quantity.\\n\\x0c'"]
对此
cleaned= ["SYRUP",
"mi",
"100",
"Te eT ran SYRUP",
"tamol, Ambroxol k",
"Guaiphenesin",
"Syrup",
"ol HCl &"
"quantity"]
我试着替换它们,但没有任何效果,它回到了提取时的状态。有什么建议吗?提前谢谢
这似乎是字节码字符串表示的字符串,您可以将其解码为utf-8。我们使用来自
ast
的literal_eval
进行安全评估这将使您在大部分的过程中达到目标,OCR中的异常情况,如
i)
,您需要通过替换来手动修复输出:
首先,您可以尝试:
下面是一个答案,它假设您在每个字符串中查找的子字符串要么在两个换行符之间,要么在字符串的开头,后跟一个换行符
然后,像这样映射到列表
list(map(find_substring,extracted))
这将产生:
相关问题 更多 >
编程相关推荐