Python 未知字符串变量内容-两个不同的输出
我正在尝试解析PDF的文本。我已经使用ApachePDFBoxPDFTextStripper成功地将PDF转换为文本-我使用jpype在Python中访问ApachePDFBox PDF文本存储在“PDF_text”变量中 当我处理文本时,我注意到一个问题。如果我通过在jupyter笔记本中键入变量名称来打印变量,我会得到如下结果:Python 未知字符串变量内容-两个不同的输出,python,string,jupyter-notebook,format,Python,String,Jupyter Notebook,Format,我正在尝试解析PDF的文本。我已经使用ApachePDFBoxPDFTextStripper成功地将PDF转换为文本-我使用jpype在Python中访问ApachePDFBox PDF文本存储在“PDF_text”变量中 当我处理文本时,我注意到一个问题。如果我通过在jupyter笔记本中键入变量名称来打印变量,我会得到如下结果: 'Safety\xa0Data\xa0Sheet\xa0\xa0 Stock\xa0Number:\xa0Revision\xa0Date:\xa0Replaces
'Safety\xa0Data\xa0Sheet\xa0\xa0 Stock\xa0Number:\xa0Revision\xa0Date:\xa0Replaces:\xa0300900004‐12‐2018\xa009‐05‐2017\xa0\xa0TECTYL®\xa0506\xa0\xa01.\xa0Identification\xa0 \xa0P'
但当我使用打印(文本)时,我得到:
我的处理失败,因为它考虑了前一个输出,但我想要后一个
有人能解释一下这个问题吗?如何将字符串转换为后一种格式
谢谢大家!
\xa0
是一个不间断空格字符。Jupyter笔记本正在显示字符代码,Python只是将其打印为空格。请参阅:。这个问题由来已久,而且与python2有关,但是使用unicodedata
的答案在Python3中仍然有效。谢谢你,Barmar。我以前从未遇到过它。问题是我正在pdf中搜索某些文本(而不是模式),而使用\xa0时,我找不到它们。我想一个简单的解决方案是在搜索感兴趣的文本之前重新搜索.sub('\xa0','',pdf_text)。你有其他建议吗?我刚刚看到你的回复,Mark。顺便说一句,我在Python3中工作。我从您共享的链接中尝试了我的想法re.sub('\xa0','',pdf_text)和pdf_text.replace(u'\xa0',u')。两个都成功了!非常感谢。这个问题现在已经解决了。
'safety data sheet stock number: revision date: replaces: 300900004‐12‐2018 09‐05‐2017 tectyl 506 1 identification product identifier used on the label: tectyl 506'