在每行文字中間加入一個字母,Notepad++

在每行文字中間加入一個字母,Notepad++

我有大量包含此內容的行,例如此文字:OU111_DI_Z006_1

請注意,每行中有些字元不同,用@表示。像這樣:OU@@@_@@_Z0@@__@

如何使用搜尋取代功能在 Z 之前新增 char X ?

像這樣:OU111_DI_XZ006_1

答案1

取代視窗標記正規表示式

找什麼: (OU..._.._)(Z0.._.)

用。 \1X\2

http://docs.notepad-plus-plus.org/index.php/Regular_Expressions

答案2

這取決於您的數據。字元“OU”和“Z0”是否唯一用於顯示每個子字串的開頭...或者這些字元可以隨機顯示(例如 OU222_Z0_Z055..)?

如果它們是唯一的並且除了作為每個子字串的開頭之外不可能出現在任何地方,那麼一個簡單的正則表達式可以非常通用地工作:

Find:  (OU.*)(Z0.*)
Replace:  \1X\2

在這裡,您將以 OU 開頭的所有內容 (.*) 分組為「\1」。並且,將從 Z0 開始的所有內容分組為「\2」。 (括號創建組。)

替換字串只是在組 1 和組 2 之間放置一個 X。

注意:這與 marbel82 的答案非常相似,只是這更通用,因為您沒有指定必須存在多少個下劃線和字元。

..

但是,如果 OU 和 Z0 不是唯一標記,那麼您需要更好地理解您的數據,以為其特徵建立通用正規表示式。

相關內容