假设我写了一些代码,如下所示:
private String Name;
private String Age;
private String Grader;
...我想使用IDEA中的正则表达式替换将姓名、年龄、等级更改为小写,所以我写道,(private\s+String\s+)([A-Z])(\w+;) -> \1\l\2\3,但IDEA不支持查找组匹配,但它在卓越的文本中运行良好,有什么方法可以解决这个问题吗?
发布于 2015-01-21 18:57:04
适用于IntelliJ 15及更高版本
新版本的IntelliJ提供了这个功能:(来自官方的IntelliJ Regular Expression Syntax Reference)
\l将下一个字符的大小写更改为小写。
\u将下一个字符的大小写更改为大写。
\L 将直到\E的所有后续字符的大小写更改为小写。
\U 将直到\E的所有后续字符的大小写更改为大写。
因此,\L$1\E现在应该可以工作。
适用于早于IntelliJ 15的版本
IntelliJ不提供在替换字符串中更改大小写的选项。
但您可以在IntelliJ (Ctrl+Shift+M)中使用结构搜索和替换。
搜索模板:
private String $upper$;替换模板:
private String $lower$;您还必须“编辑变量...”
->上文本约束:
[A-Z]\w+较低的->脚本约束:
String text = upper.getText()
text[0].toLowerCase() + text.substring(1)与你的描述相比,结果中唯一的区别应该是,之后你将在单词之间只有一个空格。
https://stackoverflow.com/questions/28058535
复制相似问题