如何在Eclipse中使用正则表达式将大写字母替换为小写字母?

时间:2010-02-12 13:06:44

标签: regex eclipse uppercase lowercase

我想查看我的所有源代码文件,并将k_Xyyy的每次出现替换为k_xyyy(将k_之后的第一个字母从大写切换为小写)。< / p>

我正在使用eclipse对话框来搜索和替换多个文件。现在我有正则表达式\bk_([A-Z])

如何指定正则表达式的替换字符串?

4 个答案:

答案 0 :(得分:16)

我刚刚利用VIM的力量解决了同样的任务(必须将.net接口转换为java接口):)

void DoMethod1 -> void doMethod1
Foo PerformMethod2 -> Foo performMethod2
:%s/\(^\s*\w\+\s\+\)\([A-Z]\)/\1\L\2/g

这里我们正在搜索(可选的缩进,后跟返回类型后跟空格),后跟(大写字母)。大括号正在捕捉群体。然后我们正在执行替换的第一个捕获组\ 1小写\ L第二个捕获组\ 2。

这当然要求你在Vim中打开文件,但无论如何这比在Eclipse中手工做同样的事情要快得多。

答案 1 :(得分:11)

这是不可能的。要么使用Eclipse的重新分解功能,要么一次更换一个:

regex       : \bk_A
replacement : k_a 

regex       : \bk_B
replacement : k_b 

...

regex       : \bk_Z
replacement : k_z 

答案 2 :(得分:1)

我需要为大量的源代码执行此操作,其中字符串文字需要转换为小写。我找到了一种使用Notepad ++和Python Script插件的方法,使用here

答案 3 :(得分:0)

(对我来说,因为我刚刚开始编程,所以考虑一下会更有趣) 取$pattern_to_change并使用ord()将其从ascii转换为十进制。获取生成的dec数并添加32.然后使用$desired_patternchr()转换回ascii。

或者只需下载SublimeText并使用其查找和替换功能查找所有匹配项并将其替换为差异文本(Sublime也具有正则表达式)。

我确信你可以手动转换10亿,因为这篇文章就像5岁了,但是你可以用Sublime在5分钟内完成这个。

非常有用的文字编辑器。