我写了一个正则表达式,希望我能够将每个匹配(只有一个字符)替换为大写字母.我正在使用EditPad Pro(但是我愿意使用任何其他工具来允许我这样做,只要它可以免费试用,因为我只需要这样做一次).
背景:我有一个案例敏感应用程序使用的非常长的文本文件,有些单词以小写字母而不是大写字母开头,从而导致应用程序崩溃.这需要很长时间才能完成,并且没有正则表达式会很复杂,因为(邪恶的)小写字母char的出现非常具体.
我已经写了选择正则表达式,现在我可以使用它与反向引用($ 1工作得很好)但是我不能用大写字母替换它.我认为\ u $ 1会起作用,但是在EditPad Pro中却没有.
如果没有免费工具允许我这样做,我想替代方法就是在C#中做它但是我有点急,而不是靠近编译器,所以我必须先下载快递版,所以...最好找一个支持这种功能的工具!
谢谢!
akf*_*akf 257
TextPad将允许您执行此操作.
例:
test this sentence
Run Code Online (Sandbox Code Playgroud)
找到:\([^ ]*\) \(.*\)
替换为:\U\1\E \2
这\U将导致所有后续字符为高位
在\E将关闭\U
结果将是:
TEST this sentence
Run Code Online (Sandbox Code Playgroud)
Ser*_*reu 28
我知道这个帖子是关于EditPad Pro的.但是我来到这里是因为javascript regexp同样需要.
对于需要相同提示的人来说,对于javascript regexp,您可以使用函数作为替换参数.
我使用函数bellow将css名称转换为 - 等效于javascript,例如:"border-top"将转换为"borderTop";
s = s.replace(/\-[a-z]/g, function(x){return x[1].toUpperCase();});
Run Code Online (Sandbox Code Playgroud)
use*_*176 12
只是Notepad++ 的另一个使用示例(正则表达式搜索模式)
Find: (g|c|u|d)(et|reate|pdate|elete)_(.)([^\s (]+)
Replace: \U\1\E$2\U\3\E$4
Run Code Online (Sandbox Code Playgroud)
例子:
get_user -> GetUser
create_user -> CreateUser
update_user -> UpdateUser
delete_user -> DeleteUser
Run Code Online (Sandbox Code Playgroud)
小智 7
你可以在jEdit中使用jEdit的find and replace对话框中的"BeanShell片段的返回值"选项来完成此操作.只需搜索" [a-z]"并替换它" _0.toUpperCase()"(不含引号)