我正在尝试在简单的计算中将刮取的字符串
与BeautifulSoup
结合使用。解释器给出 base 10 错误
,表明字符串中存在隐藏字符。
事实证明这是正确的,因为控制台将包含隐藏数据的原始字符串输出为:
2.177
['\n\n2.177']
2.177
是我在这里尝试使用的号码。 ['\n\n2.177']
是字符串的隐藏部分。由于隐藏值,它不会转换为 int,但我无法对其进行任何计算。
我已经查找了一些从字符串中删除隐藏字符的方法,但到目前为止 stackoverflow 似乎只提供了有关删除特殊隐藏字符的答案。
遗憾的是我的并不特别。有谁知道如何删除这部分字符串?
最佳答案
根据澄清,字符串的内容看起来是“\n\n2.177”
,即有两个前导换行符。在这种情况下,问题不在于换行符,而在于 2.177
确实不是 int
的有效表示。 int("\n\n2.177")
和 int("2.177")
都给出 ValueError: invalid Literal for int() with base 10: ' 2.177'
。
要回答您的直接问题,您可以使用字符串上的 strip
方法去除前导和尾随空格,例如vacancy_amount.strip()
。
也许您打算获取一个 float ,在这种情况下,float(vacancy_amount)
将为您提供 2.177
。如果您想进一步将其转换为整数,可以尝试 int(float(vacancy_amount))
给出 2
。
关于python - 删除字符串的隐藏部分时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47686116/