此问题已在此处有答案:
How to grab number after word in python(4个答案)
昨天关门了。
我有这个数据框
DF
Server Port
ABC1 Port Ethernet 7
ABC1 Port Ethernet 7/1
ABC1 Te0
Abc2 Port Gi1/1
Abc2 Port Ethernet 1/1
Abc2 Te1
我需要在第一个/之前提取出以太网端口和Gi端口的编号。还有一些其他的值,如Te,但我只需要t9进程端口以太网或端口Gi。
因此, Dataframe 需要看起来像这样:
Server Slot
ABC1 7
ABC1 7
Abc2 1
Abc2 1
我试过这个:
df["Slot"]=df["Port"].str.extract(Port Ethernet\s*(.*?)(?=/|$)| Port Gi\s*(.*?)(?=/|$), expand=False)
或操作数似乎不拾取端口Gi部分。知道我哪里做错了吗
3条答案
按热度按时间ubby3x7f1#
在这种情况下,您可以使用非捕获组,以便正确地 Package
|
。请参阅regex101了解更多详情:输出量:
nxagd54h2#
试试这个regexp
xtfmy6hx3#
输出量: