簡體   English   中英

如何使用bs4在字符串“ Results for 27th July 2019”中剝離“ Results for”?

[英]How do I strip off “Results for ” in string “Results for 27th July 2019” using bs4?

我需要剝離“ Results for”文本,以便以后將其格式化為特定的dateformat。

問題是

當我運行不帶.strip的代碼時,我得到:

'Results for 27th July 2019'

當我嘗試剝離文本時,出現以下錯誤:

TypeError: a bytes-like object is required, not 'str'

python3:

date = res.parent.find("span", {"class": "standard-headline"}).text.encode('utf8').strip("Results for ")
TypeError: a bytes-like object is required, not 'str'

有解決方法嗎? 我一直在研究正則表達式,但是當沒有分隔符時,似乎無法解決我的問題。

最好的祝福

錯誤的原因是encode('utf8')返回bytes 您需要decode('utf-8') 它返回一個可以剝離的str()

在encode('utf-8')之后,您將獲得二進制字符串,因此它也希望將二進制字符串(更精確的字符列表)作為參數。 您可以使用

text.encode('utf-8').decode().strip("Results for ")

要么

text.encode('utf-8').strip(b"Results for ")

請記住,剝離不是從字符串開頭刪除特定文本的最佳選擇,因為這還會從尾部剝離所有R,e,s,空格等。

我認為您需要的是替換方法。 只需將Results for替換Results for空字符串即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM