Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
324 views
in Technique[技术] by (71.8m points)

notepad++ - Search and replace only first result on each file with notepad ++

Is there any way to find a string which is repeated several times in each file but only replace the first result on each file?

Thanks

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The find dialogue of Notepad++ includes a Find in files tab with a Replace in files button. To replace abc with def in all files you could try the following regular expression search string A(.*?)abc(.*)z with 1ghi2. You will need to select both Regular expression and Dot matches newline.

The A only matches at the very start of the file. The (.*?)abc is a non-greedy match and capture of everything up to but not including the first abc. The (.*) matches and captures everything else to the end of the file which is matched by the z. (I experimented without the (.*)z part and all occurrences of abc were changed.)

If the replacement to be done also needs regular expressions then you may need to alter the 2 part of the replacement text.

Do not know how this would work with big files. Whatever size of file you use I recommend making a backup before using the Replace in files facility.

Tested in Notepad++ 6.3.2 with two very small files.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...