我有一個名為列的資料框,該列Website由字串值組成。這是一個示例:
Website
www.trend-setter.com
gmail.com
78388383
www.yahoo.com
wis.pr
mail.yahoo.com
www.mail.yahoo.com
www.google.com
我想像下面這樣決議域名(保留后綴),但如果字串不是網站或者該欄位已經被正確決議,則默認為原始值:
Website
trend-setter.com
gmail.com
78388383
yahoo.com
wis.pr
mail.yahoo.com
mail.yahoo.com
google.com
我已經嘗試了以下,但無法弄清楚如何使它默認為上述:
import re
df['Website'].apply(lambda x: re.findall('www.([\w\-\.] )', x))
uj5u.com熱心網友回復:
如果目的只是洗掉www.前綴,則可以使用:
df['Website'].str.replace('^www\.', '', regex=True)
輸出:
0 trend-setter.com
1 gmail.com
2 78388383
3 yahoo.com
4 wis.pr
5 mail.yahoo.com
6 mail.yahoo.com
7 google.com
Name: Website, dtype: object
uj5u.com熱心網友回復:
如果您想要 100% 正則運算式解決方案,這對我有用:
(?:www\.)?(?P<url>[\w\-] \.([\w\-] \.?) )
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/337776.html
上一篇:python物件建構式的問題
