試試這個:
查找內容:([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