如何批量提取记录中Average后的首个美元数值或拆分格式?
批量处理1000条记录的两种实现方案
现有1000条格式固定的记录,需要完成两个优先级的处理需求:
- 优先提取单词
Average后出现的首个美元数值(如样本中的925.00),最终仅保留该数值;- 若需求1无法实现,退而求其次,在
Average后、$前分别插入换行,形成指定格式。
样本原始记录
1 1 Antique Railroad Luggage Wagon - Restored Antique railroad / train luggage cart. Used on the Saluda Grade. Private Seller 0.00 **Average 925.00$** 925.00$ 925.00$ HOB Contents 64.75$ 989.75$ 0.00 50.00% 50.00% 494.88$ 742.31$ 494.88$ 494.87$ Yes No
需求2的目标格式示例
1 1 Antique Railroad Luggage Wagon - Restored Antique railroad / train luggage cart. Used on the Saluda Grade. Private Seller 0.00 Average 925.00 $ 925.00$ 925.00$ HOB Contents 64.75$ 989.75$ 0.00 50.00% 50.00% 494.88$ 742.31$ 494.88$ 494.87$ Yes No
方案一:提取Average后的首个美元数值(优先实现)
用正则表达式批量处理,Notepad++、VS Code这类常用文本编辑器都支持:
- 查找正则:
.*Average (\d+\.\d+)\$.* - 替换内容:
$1 - 操作步骤:
- 打开记录文件,开启编辑器的「正则表达式」匹配模式;
- 粘贴上述查找和替换内容,执行「全部替换」即可,每条记录会直接替换成对应的目标数值。
方案二:插入换行实现指定格式(备选)
同样用正则拆分原字符串并插入换行:
- 查找正则:
(Average) (\d+\.\d+)(\$) - 替换内容:
$1\n $2\n$3 - 注意事项:
- 若使用Notepad++,需切换到「扩展」模式,把替换内容里的
\n改为\r\n; - VS Code直接使用
\n即可; - 执行全部替换后,就能得到符合要求的格式。
- 若使用Notepad++,需切换到「扩展」模式,把替换内容里的
内容的提问来源于stack exchange,提问作者Matt Lehmer
相关产品推荐
相关产品推荐

