使用正则表达式将char转换为大写(EditPad Pro)

时间:2009-07-21 13:53:15

标签: regex

我写了一个正则表达式,希望我能够将每个匹配(只有一个字符)替换为大写字母。我正在使用EditPad Pro(但是我愿意使用任何其他工具来允许我这样做,只要它可以免费试用,因为我只需要这样做一次)。

后台:我有一个区分大小写的应用程序使用的很长的文本文件,有些单词以小写字母而不是大写字母开头,从而导致应用程序崩溃。这需要很长时间才能完成,而没有正则表达式会很复杂,因为(邪恶的)小写字母char的出现非常具体。

我已经编写了选择正则表达式,现在我可以将它与反向引用一起使用($ 1工作正常)但是我不能用大写字母替换它。我认为\ u $ 1会起作用,但它不适用于EditPad Pro。

如果没有免费工具允许我这样做,我想替代方法就是在C#中这样做但是我有点急,而不是靠近编译器,所以我必须下载快递版首先,所以......最好找一个支持这种功能的工具!

谢谢!

6 个答案:

答案 0 :(得分:248)

TextPad将允许您执行此操作。

示例:

test this sentence

查找内容:\([^ ]*\) \(.*\) 替换为:\U\1\E \2

\U将导致所有后续字符为高位

\E将关闭\U

结果将是:

TEST this sentence

答案 1 :(得分:26)

  

EditPad Pro和PowerGREP有一个   独特的功能,允许您   改变反向引用的情况。   \U1插入第一个反向引用   大写,\L1小写和   \F1第一个字符   大写和余数   小写。最后,\I1插入它   每个单词的第一个字母   大写,以及其他字母   小写。

资料来源:Goyvaerts,Jan(2006)。 正则表达式:完整教程。 Lulu.com。 p. 35。 ISBN 1411677609.谷歌图书。检索于2010年6月25日。

答案 2 :(得分:26)

我知道这个帖子是关于EditPad Pro的。 但是我来到这里是因为javascript regexp同样需要。

对于需要相同提示的人来说,对于javascript regexp,您可以使用函数作为替换参数。

我使用bellow函数将css名称转换为 - 等效于javascript,例如:“border-top”将转换为“borderTop”;

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

答案 3 :(得分:7)

您可以在jEdit中使用jEdit的find and replace对话框中的“BeanShell片段的返回值”选项来执行此操作。只需搜索" [a-z]"并将其替换为" _0.toUpperCase()"(不带引号)

答案 4 :(得分:5)

您还可以使用\I1\I2等来代替$1$2,将比赛的第一个字母大写。

答案 5 :(得分:0)

只是 Notepad ++的另一个用法示例(正则表达式搜索模式)

Find: (g|c|u|d)(et|reate|pdate|elete)_(.)([^\s (]+)
Replace: \U\1\E$2\U\3\E$4

示例:

get_user -> GetUser
create_user -> CreateUser
update_user -> UpdateUser
delete_user -> DeleteUser