使用 Sublime Text 将含下划线的字符串批量替换为驼峰命名法格式的字符串

本文版权归cxun所有,如有转载请注明出处与本文链接,谢谢!
原文地址:http://www.cnblogs.com/cxun/p/7762984.html

 

For indexing: Convert strings like under_score to strings like camelCase

 

使用Sublime、Notepad++之类的含有正则表达式替换工具的文本处理器,通过以下方式,可以批量将诸如“abc_def_ghi”替换为“abcDefGhi”格式。

首先,要先替换含有下划线较多的字符串,比如说你要替换的大量的字符串里面,每个变量含有下划线的个数有1个和2个,那就先替换2个的,再替换1个的,如此类推。下面的例子是替换含有2个下划线的:

正则表达式查找:(\w*)_(\w*)_(\w*)

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

意思是说,将括号内的字符视为一个元素,每个元素之间是下划线分隔,将第1个元素的首字母改成小写,将第2、3个元素的首字母改成大写。

接下来就替换只含有一个下划线的:

正则表达式查找:(\w*)_(\w*)

替换为:\l\1\u\2

同样道理,如果你要替换的文字里有“abc_def_ghi_jkl”的话,就先替换含3个下划线的,再替换含2个,最后替换含1个的,依此类推。这样,就可以把大批的下划线分隔格式替换成驼峰命名法的变量啦~

 

1. 替换三个"_"
(\w*)_(\w*)_(\w*)_(\w*)
\l\1\u\2\u\3\u\4

2. 替换两个"_"
(\w*)_(\w*)_(\w*)
\l\1\u\2\u\3
3. 替换一个"_"
(\w*)_(\w*)
\l\1\u\2

 

参考文献:

1. Regex - converting to CamelCase and cutting founded word

(https://stackoverflow.com/questions/25477034/regex-converting-to-camelcase-and-cutting-founded-word)

\l     # first character to lower case
\u     # first character to upper case
\L     # start of lower case conversion
\U     # start of upper case conversion
\E     # end lower/upper case conversion

2. 正则表达式30分钟入门教程

(http://www.jb51.net/tools/zhengze.html)

posted @ 2019-11-20 13:45  黄文博  阅读(442)  评论(0编辑  收藏  举报