我想在测试中更改类名和方法的命名。它们有数百个,它们很长且很难阅读。下划线会有所帮助。
我创建了REGEX:
(public class [A-Z][a-z]*(_[A-Z][a-z]*)*)(?<x>[A-Z])
替换模式: $1_${x}
这给出了我的示例:发件人: public class VeryLongClassNameTestScenarioTwentySeven
到: public class Very_LongClassNameTestScenarioTwentySeven
下次使用: public class Very_Long_ClassNameTestScenarioTwentySeven
下次使用: public class Very_Long_Class_NameTestScenarioTwentySeven
使用多次后,所有名称都应更改。您能帮我找到立即执行的正则表达式吗?
我想VS中的正则表达式不支持将字母从大写转换为小写?
谢谢
我现在无法访问VS工作站,但是我认为以下方法应该有效:
找: (?<=public class .*?)([a-z])([A-Z])
用。。。来代替: $1_$2
(我在http://regexstorm.net/tester上进行了测试)
编辑:现在我坐在VS工作站的前面,这是我的测试结果:
它的“种类”工作……奇怪的是,它具有以下代码:
public class ThisIsLongClassName
{ }
public class AnotherLongClassName
{ }
public class WhoaThisNameIsEvenLonger
{ }
现在,用Shift+ Ctrl+进行测试F:
sI
的第一行的,这种变化发生在rL
所述的第二线我认为VS2013很不错。至少我的是。
编辑2:因此,我建议您创建一个小程序,让它“遍历”您的文件。正则表达式会简单得多,因为您要做的就是确保.TrimStart()
-ed行以开头'public class'
,然后在该行上执行一个简单的正则表达式替换为([a-z])([A-Z])
with$1_$2
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句