我写了一个正则表达式,希望能够将每个匹配的字符(也就是一个字符)替换为大写字符。我正在使用EditPad专业版(然而,我愿意使用任何其他允许我这样做的工具,只要它是免费的,因为我只需要这样做一次)。
背景:我有一个很长的文本文件,用于区分大小写的应用程序,一些单词以小写字母开头,而不是大写字符,从而使应用程序崩溃。手工操作会花费很长时间,而且没有正则表达式会非常复杂,因为(邪恶的)小写字符的出现是非常具体的。
我已经编写了select正则表达式,现在我可以将其与反向引用一起使用($1就可以了),但是我不能将其替换为大写字符。我以为像\u$1这样的东西可以工作,但在EditPad专业版中不行。
如果没有免费的工具允许我这样做,我猜另一种选择就是用C#做,但是我有点匆忙,而且离编译器很近,所以我必须先下载速成版,所以...最好是找到一个支持这种特性的工具!
谢谢!
发布于 2009-07-21 14:01:37
TextPad将允许您执行此操作。
示例:
test this sentence
查找内容:\([^ ]*\) \(.*\)
替换为:\U\1\E \2
\U
将导致以下所有字符都是大写的
\E
将关闭\U
结果将是:
TEST this sentence
发布于 2013-05-25 21:58:28
我知道这个帖子是关于javascript专业版的,但我来这里是因为我对EditPad regexp也有同样的需求。
对于这里需要相同技巧的人,您可以使用函数或lambda作为替换参数。
我使用下面的函数将带有-
的css名称转换为javascript等效项,例如,"border-top"
将转换为"borderTop"
。
s = s.replace(/\-[a-z]/g, x => x[1].toUpperCase());
发布于 2010-06-26 04:29:42
EditPad专业版和PowerGREP有一个独特的功能,允许您更改反向引用的大小写。
\U1
以大写形式插入第一个反向引用,\L1
以小写形式插入,\F1
以大写形式插入第一个字符,其余字符以小写形式插入。最后,\I1
插入它,每个单词的第一个字母大写,其他字母小写。
资料来源: Goyvaerts,Jan (2006)。正则表达式:完整的教程。Lulu.com。p. 35。ISBN 1411677609。谷歌图书。检索于2010年6月25日。
https://stackoverflow.com/questions/1159343
复制相似问题