这里有一个来自pandas DataFrame的字符串。
https://www.gofundme.com/3hgsuu0,https://twitter.com/dog_rates/status/840632337062862849/photo/1
我想做的是遍历所有行,找到twitter url,并从列中删除NOTtwitter url。目标是在列中只包含twitter URL,而不是2个或多个URL。
我做的是
arch_drop_new1.expanded_urls.apply(lambda x:str(x(.split(","([0](
它为我提供了出现在包含1个以上url的行中的,
之前的所有字符串。
屏幕截图
您可以使用.str.extract()
值
rx = r'(https?://twitter.com/S*?)(?:,s*http|$)'
arch_drop_new1['twitter_urls'] = arch_drop_new1['expanded_urls'].str.extract(rx, expand=False)
请参阅regex演示。
注意,extract()
将从每行中提取模式的第一次出现(此处,由于模式中有一个捕获组,因此仅为Group 1值(。
详细信息
(https?://twitter.com/S*?)
-组1:https://twitter.com/
或http://twitter.com/
,然后是0个或多个非空白字符,尽可能少(?:,s*http|$)
-与,
匹配的非捕获组,0个或多个空白,然后是http
或字符串末尾