OpenRefine提取CSV列括号内容及前置单词的方法
解决方案
你需要调整正则表达式,匹配括号前的完整英文单词+空格+括号及内部四位年份的组合,具体正则表达式如下:
\b\w+ \(\d{4}\)
正则规则说明
\b:匹配单词边界,确保提取的是完整单词,避免从长单词中截取片段\w+:匹配一个或多个字母组成的英文单词:匹配单词与括号之间的空格\(和\):转义匹配左右括号,因为括号在正则中属于特殊语法字符\d{4}:精确匹配四位数字,对应示例中的年份格式
示例用法(以Python pandas处理CSV为例)
假设你用pandas读取CSV文件,要从text_column列提取目标内容并生成新列target_content:
import pandas as pd # 读取CSV文件 df = pd.read_csv("your_csv_file.csv") # 提取符合规则的内容,返回列表形式的匹配结果 df["target_content"] = df["text_column"].str.findall(r"\b\w+ \(\d{4}\)")
执行后,target_content列就会得到类似["amet (2015)", "aliqua (2000)"]的结果。如果使用其他工具(如Excel、Power Query),也可以套用该正则逻辑,调整对应工具的函数写法即可。
内容的提问来源于stack exchange,提问作者Lucas Cabral
相关产品推荐
相关产品推荐

