mFoo = foo;
mBar = bar;
// convert to
this.foo = foo;
this.bar = bar;
如何使用正则表达式来处理这种替换?请帮忙。这是我在Android Studio(IntelliJ IDEA)中使用的方法Edit -> Find -> Replace in Path
Text to find: m([A-Z])([A-Za-z0-9]+) = L$1$2
Replace with: this\.L$1$2 = L$1$2
Update
L
上面是一个错字。它应该是\L
根据JetBrains 的文档 https://www.jetbrains.com/idea/help/finding-and-replacing-text-in-file.html
您可以使用带有反向引用的模式并将“=”后的最后一个单词分组:
要查找的文本:
m([A-Z])([A-Za-z0-9]+) = (L\1\2)
用。。。来代替:
这个.L$1$2 = $3
在您发表评论后,我了解到您也有小写/大写字符的问题。所以尝试这个模式(我还简化了正则表达式):
m(\p{Alpha})(\w+) = (((?i)\1)\2)
和这个替换字符串:
this\.L$1$2 = $3
因此,以您的输入文本示例为例:
mContext = context
你得到这个:
this.LContext = context
我不知道您的文本/替换字符串中指定的“L”是否是您的拼写错误或其他错误,但如果是这样,您可以按以下方式更改“替换字符串”:
this\.$3 = $3
所以你可以获得这个:
this.context = context
如果这对您有帮助,请告诉我!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)