首页 > 解决方案 > 熊猫使用正则表达式从字符串列中提取子字符串

问题描述

我有一个字符串列的数据框:

df['C23']

Col1 Col2
11   /*[lion]*/
21   /*[tiger]*/

我需要以下内容:

Col1 Col2
11   lion
21   tiger

我尝试了以下代码:

df['C23'].str.extract(r"/*(.*?)*/')

但它会产生空字符串。

标签: regexpandaspython-3.8

解决方案


您可以使用

df['result'] = df['C23'].str.extract(r"/\*\[(.*?)]\*/")

/\*\[(.*?)]\*/则表达式匹配

  • /\*\[-/*[字符串
  • (.*?)- 第 1 组:除换行符之外的任何零个或多个字符尽可能少
  • ]\*/-]*/字符串

推荐阅读