使用正则expression式将字符转换为大写(EditPad Pro)

我写了一个正则expression式,希望能够将每个匹配(只是一个字符)replace为大写char。 我正在使用EditPad Pro(不过,我愿意使用任何其他工具来允许我这样做,只要它可以自由尝试,因为我只需要这样做一次)。

背景:我有一个非常长的文本文件,由一个区分大小写的应用程序使用,有些字以小写字母而不是大写字母开头,从而导致应用程序崩溃。 手工操作需要很长时间,如果没有正则expression式,这将会非常复杂,因为(邪恶)小写字符的出现是非常具体的。

我已经写了select正则expression式,现在我可以使用反向引用($ 1工作正常),但是我不能让它replace为大写字符。 我认为像\ u $ 1这样的东西会工作,但它不在EditPad Pro中。

如果没有免费的工具允许我这样做,我想另一种方法是用C#做,但是我有点急,而不是靠近编译器,所以我必须先下载快速版,所以…最好是find一个支持这个function的工具!

谢谢!

TextPad将允许您执行此操作。

例:

test this sentence 

find: \([^ ]*\) \(.*\)replace为: \U\1\E \2

\U会导致所有跟随的字符上

\E将closures\U

结果将是:

 TEST this sentence 

EditPad Pro和PowerGREP有一个独特的function,可以让你改变反向引用的情况。 \U1以大写插入第一个反向引用,以小写插入第一个反向引用,以及第一个字符以大写forms插入,第一个字符以小写forms插入。 最后, \I1用大写的每个单词的第一个字母插入,其他字母用小写。

资料来源:Goyvaerts,Jan(2006)。 正则expression式:完整教程 。 Lulu.com。 页。 35 。 ISBN 1411677609. Google Books。 检索2010年6月25日。

我知道这个线程是关于EditPad Pro的。 但是,我来到这里,因为JavaScript的正则expression式相同的需要。

对于在这里需要相同的技巧,对于JavaScript正则expression式,你可以使用一个函数作为replace参数。

我使用下面的函数将css名称转换为与JavaScript等效的名称,例如:“border-top”将被转换为“borderTop”;

 s = s.replace(/\-[az]/g, function(x){return x[1].toUpperCase();}); 

您可以在jEdit中使用jEdit的查找和replace对话框中的“返回BeanShell片段的值”选项来执行此操作。 只需search" [az]"并将其replace为" _0.toUpperCase()" (不含引号)

您还可以使用\I1\I2等而不是$1$2来大写匹配的首字母。