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 に答える