Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 未知字符串变量内容-两个不同的输出_Python_String_Jupyter Notebook_Format - Fatal编程技术网

Python 未知字符串变量内容-两个不同的输出

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

我正在尝试解析PDF的文本。我已经使用ApachePDFBoxPDFTextStripper成功地将PDF转换为文本-我使用jpype在Python中访问ApachePDFBox

PDF文本存储在“PDF_text”变量中

当我处理文本时,我注意到一个问题。如果我通过在jupyter笔记本中键入变量名称来打印变量,我会得到如下结果:

'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'