Regex&Sublime:Replacestring

Regex&Sublime:Replacestring,regex,sublimetext3,Regex,Sublimetext3,我的模型中大约有500行: var jobTitle: FieldInfoModel? = null 我想让每一行都像这样: @Json(name = "job_title") var jobTitle: FieldInfoModel? = null 我对regex很在行。 我计划复制升华中的所有台词,并在那里进行替换。 任何人都可以帮助我在搜索和替换字段中输入什么?我想不出一个解决问题的单行正则表达式解决方案,但可以提供两步流程: 第一步 查找:var\s*\w+ 替换为:@Jsonnam

我的模型中大约有500行:

var jobTitle: FieldInfoModel? = null
我想让每一行都像这样:

@Json(name = "job_title") var jobTitle: FieldInfoModel? = null
我对regex很在行。 我计划复制升华中的所有台词,并在那里进行替换。
任何人都可以帮助我在搜索和替换字段中输入什么?

我想不出一个解决问题的单行正则表达式解决方案,但可以提供两步流程:

第一步 查找:var\s*\w+

替换为:@Jsonname=\1$0

步骤2 查找:@Json\name=|\A\G[A-z]+[A-z]

替换为:\1\2\u\L\3

注:

\L导致所有后续字符以小写形式输出,直到找到\E为止


\U将导致所有后续字符以大写形式输出,直到找到一个\E。

您指的是某个特定变量还是所有变量?所有变量。我所有的变量都使用camelCase。我想将它们转换为snake-case,并将@Json字符串放在字段声明的前面。我不认为可以让regex轻松地进行camelCase到下划线的转换。考虑编写一个小脚本来完成这项工作。如果SualimeTeXT支持替换中的实例转换,那么你就很幸运了。你应该只需要几个替补就可以完成你的工作。事后诸葛亮很容易。谢谢@revo的帮助。但是步骤2的输出如下:@Jsonname=jobTitl_e var jobttitle:FieldInfoModel?=Null您应该在“从”窗格中设置区分大小写选项。是的,先生。万分感谢你你太棒了