使用正则表达式分离和提取URL字符串的一部分?

2024-05-23 17:00:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个df,变量名为urlurl中的每个url字符串在url字符串中都有一个唯一的六个字符的字母数字ID。我一直在尝试从所有URL中提取每个字符串的特定部分article_id,然后将其作为新变量添加到df

例如,xwpd7whttps://www.vice.com/en_us/article/xwpd7w/how-a-brooklyn-gang-may-have-gotten-crazy-rich-dealing-for-el-chapoarticle_id

如何根据/article/旁边的位置从df中的所有URL中提取article_ids?是否使用任何方法,正则表达式

到目前为止,我已经做了以下工作:

df.url.str.split()

ex output: [https://www.vice.com/en_au/article/j539yy/smo...

df['cutcurls'] = df.url.str.join(sep=' ')
ex output: h t t p s : / / w w w . v i c e . c o m / e n

有什么想法吗


Tags: 字符串httpscomidurldfoutputwww
1条回答
网友
1楼 · 发布于 2024-05-23 17:00:28

应用“str.extract”方法

df=pd.DataFrame({"url":["https://www.vice.com/en_us/article/xwpd7w/how-a-brooklyn-gang-may-have-gotten-crazy-rich-dealing-for-el-chapo","https://www.www.www//en_us/article/idId2019/buzzwords"]}) 

df["articel_id"]= df.url.str.extract(r"/article/([^/]+)")

    Out:
        url articel_id
        0  https://www.vice.com/en_us/article/xwpd7w/how-...     xwpd7w
        1  https://www.www.www//en_us/article/idId2019/bu...   idId2019

([^/]+):将连续的非“/”字符分组

相关问题 更多 >