I'd like to go through all of my source code files and replace every occurence of k_Xyyy
with k_xyyy
(switch the first letter after k_
from uppercase to lowercase).
I'm using the eclipse dialog to search and replace multiple files. Right now I have the regex \bk_([A-Z])
.
How do I specify the replacement string of the regex?
I just resolved the same task (had to turn .net interface into java interface) utilizing the power of VIM :)
void DoMethod1 -> void doMethod1
Foo PerformMethod2 -> Foo performMethod2
:%s/\(^\s*\w\+\s\+\)\([A-Z]\)/\1\L\2/g
Here we are searching for (optional indentation followed by return type followed by whitespace) followed by (Uppercase letter). Braces are capturing groups. Then we are performing a replacement first capturing group \1 lowercase \L second capturing group \2.
This of course requires you to open file in Vim, but anyway this is much faster then doing the same thing by hand in Eclipse.