如何用正则表达式提取字符串中首个数字前的内容?
提取字符串首个数字前的内容(Pandas+正则实现)
你可以借助Pandas的str.extract方法配合正则表达式,快速提取product_name列中首个数字之前的内容,具体实现如下:
代码示例
import pandas as pd product_name = ['Cashew Alm Classic 6/200g', 'Cashew Buttery Sprd 8/227g', 'Chives&Garlic 6/98g'] data = pd.DataFrame({'product_name': product_name}) # 提取首个数字前的内容并清理末尾空格 data['output'] = data['product_name'].str.extract(r'^(.*?)(?=\d)', expand=False).str.strip() print(data)
正则表达式说明
^:定位到字符串的起始位置(.*?):以非贪婪模式匹配任意字符,确保只匹配到第一个数字出现前的内容(?=\d):正向预查断言,用来确认匹配的内容后面紧跟数字(不会把数字包含进来)
执行后output列的结果会和你给出的预期完全一致。
内容的提问来源于stack exchange,提问作者Alejandro L
相关产品推荐
相关产品推荐

