试试这个:
查找内容:([0-9]+),([A-Z]+[0-9]+)
替换:update [dbname].iwfs_part_search_tb set mdl_number='$2' where condensed_part_number = '$1';
那么显然确保正则表达式检查。
发生了什么事?
([0-9]+)
- pamentalhesis表示“捕获组”,[0-9]+
表示任意数量的“一个或多个”。
,
- 逗号,不在捕获组或任何东西中......只是一个逗号
([A-Z]+[0-9]+)
- 另一个捕获组,它包含一个或多个大写字母后跟一个或多个数字。
然后可以在Notepad ++中的“替换为”字段内使用$
,然后使用该组的索引,然后使用上面的“捕获组”。第一组($1
)用于逗号前的数字组,而第二组($2
)用于逗号后的字母和数字组。
测试:
011890111,MFCD00005493
011891232,MDAN00032492
011853233,MFCD00005444
011892121,MFCD
011812341,MAAS00005493
变为:
update [dbname].iwfs_part_search_tb set mdl_number='MFCD00005493' where condensed_part_number = '011890111';
update [dbname].iwfs_part_search_tb set mdl_number='MDAN00032492' where condensed_part_number = '011891232';
update [dbname].iwfs_part_search_tb set mdl_number='MFCD00005444' where condensed_part_number = '011853233';
update [dbname].iwfs_part_search_tb set mdl_number='MFCD' where condensed_part_number = '011892121';
update [dbname].iwfs_part_search_tb set mdl_number='MAAS00005493' where condensed_part_number = '011812341';
应该可以与一些正则表达式,但我一直与复杂的正则表达式的问题(应该寻找一些好的教程).. 。但是,如果您只是寻找一些快速解决方案,则可以在某些电子表格中导入文件,添加缺少信息的列,然后导出到文本文件。做了这一两次作为一个快速(是的,肮脏但快速)解决方法... – Martin
马丁,我真的结束了这样做......有38K行需要修改。逐列操作比在其上运行正则表达式要容易得多。只是不要说smemy ....;) – ResourceReaper
是的,这是一种“跛脚”的解决方案,这就是为什么我没有把它作为答案,但最终,如果你有一些结果要完成工作,你不能等到你得到最好的解决方案... :) – Martin