假设我有一个df
:
df = pd.DataFrame({'col': ['ABCXDEF', 'ABCYDEF']})
如何提取ABC
和第一次出现的DEF
包围的字符串?所需的输出:
col
0 X
1 Y
请注意,我不需要基于精确位置的解决方案,例如:
df.col.str[3:4]
答案 0 :(得分:3)
(更新:查找“ DEF”的首次出现) 使用此正则表达式:
df = pd.DataFrame({'col': ['ABCXDEF', 'ABCYDEFDEFDEF']})
print(df.col.str.extract(r"ABC(.*?)DEF"))
结果是:
0
0 X
1 Y