3

我有以下代码。

html = urllib2.urlopen(
    'https://ebet.tab.co.nz/results/CHCG-reslt05070400.html').read()


soup = BeautifulSoup(html)
data = soup.findAll('div', {'class' : 'header bold'})
match = re.search('R', data[0].text)
race_title = data[0].text[(match.start()):]
race_title = str(race_title.strip(' \t\n\r'))
print race_title

我在控制台屏幕上得到的输出如下

Race 1 PEDIGREE ADVANCE SPRINT
                C0
                295 m

我认为 strip 会消除 SPRINT 和 C0 之间的任何类型的空格,但显然我遗漏了一些东西,所以我需要帮助来理解这个结果。是因为bs4以unicode输出字符串还是什么?

4

2 回答 2

3

strip()仅删除前导或尾随字符。如果你想删除你应该使用的换行符replace("\n","")

于 2012-05-13T07:56:21.337 回答
2

通常 STRIP 只去除字符串开头和结尾的空格。使用 STR_REPLACE 将空格替换为“”。

strip(s[, chars]) 返回删除了前导和尾随字符的字符串的副本。如果省略 chars 或 None,则删除空白字符。如果给定而不是 None,chars 必须是字符串;字符串中的字符将从调用此方法的字符串的两端剥离。在 2.2.3 版更改: 添加了 chars 参数。chars 参数不能在早期的 2.2 版本中传递。

于 2012-05-13T07:56:28.280 回答