python strip函数作用_Python的strip()函数不起作用

您发布的代码无法运行。而且,即使在我猜测如何修复它运行之后,它实际上并没有像您所说的那样。但我很确定我知道错误在哪里。在

此代码不返回空字符串,而是返回":text = div.get_text().strip().split(" ", 1)[0].strip()

…不是因为strip。因为,与您所声称的相反,此代码并没有首先包含您想要的文本:

^{pr2}$

…而是'"\n'。所以,当然,剥离给你一个空字符串。在

如果打印出中间部分,可以看到原因:>>> div.get_text()

'\n "\n Text I want \n "\n \nEdit\n\n'

>>> div.get_text().strip()

'"\n Text I want \n "\n \nEdit'

>>> div.get_text().strip().split(" ", 1)

['"\n', ' Text I want \n "\n \nEdit']

>>> div.get_text().strip().split(" ", 1)[0]

'"\n'

>>> div.get_text().strip().split(" ", 1)[0].strip()

'"'

看起来您实际想要做的是找到前两个"字符之间的文本,然后将其拆分:>>> div.get_text().strip().split('"', 2)[1].strip()

'Text I want'

但是,我认为你把所有的后代文本都包括进来,而不仅仅是直接的子文本,这使得事情变得更加复杂。如果我们没有Edit部分来处理,那么整个事情就是你想要的文本被一个复杂的空格、换行符和引号所包围……我们可以一次把它们全部去掉:>>> div.contents[0]

'\n "\n Text I want \n "\n

>>> div.contents[0].strip(' \n"')

'Text I want'

你可能感兴趣的:(python,strip函数作用)