无法删除字符串

时间:2017-12-07 01:19:32

标签: python beautifulsoup

我尝试在简单的计算中使用带有string的已删除BeautifulSoup。解释器给出base 10 error,表示字符串中有隐藏的字符。

事实证明这是真的,因为控制台输出包含隐藏数据的原始字符串:

2.177
['\n\n2.177']

2.177是我尝试使用的数字。 ['\n\n2.177']是字符串的隐藏部分。由于隐藏的值不能转换为int,但我无法对其进行任何计算。

我已经查找了几种从字符串中删除隐藏字符的方法,但到目前为止,stackoverflow似乎只有关于删除特殊隐藏字符的答案。

我的遗憾不是特别的。有谁知道如何删除这部分字符串?

2 个答案:

答案 0 :(得分:2)

根据澄清,看起来字符串的内容是"\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(vacancy_amount)会给你2.177。如果您想进一步将其转换为整数,可以尝试int(float(vacancy_amount))2

答案 1 :(得分:0)

您可以使用正则表达式:

import re
s = '\n\n2.177'
new_s = re.findall('[\.\d]+', s)

输出:

['2.177']