Java实现驼峰和下划线互相转换的示例代码(js下划线转驼峰处理)

网友投稿 373 2022-08-07


Java实现驼峰和下划线互相转换的示例代码(js下划线转驼峰处理)

目录前言1.驼峰与下划线互转2.测试3.方法补充

前言

基本语法

首先我们要知道java的基础语法。

1.由26个英文字母大小写,0-9,_或$组成

2.数字不可以开头

3.不可以使用关键字和保留字,但是能包括关键字和保留字

4.Java中严格区分大小写,长度无限制

5.标识符不能包括空格

6.取名尽量做到“见名知意”

驼峰命名法

骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例)。

正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。

程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。

例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:

printEmployeePaychecks();

print_employee_paychecks();

第一个函数名使用了驼峰命名法——函数名中的每一个逻辑断点都有一个大写字母来标记;

第二个函数名使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。

1.驼峰与下划线互转

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

* 驼峰法-下划线互转

* @author cshaper

* @since 2015.07.04

* @version 1.0.0

*/

public class UnderlineToCamelUtils {

/**

* 下划线转驼峰法

* @param line 源字符串

* @param smallCamel 大小驼峰,是否为小驼峰

* @return 转换后的字符串

*/

public static String underlineToCamel(String line,boolean smallCamel){

if(line==null||"".equals(line)){

return "";

}

StringBuffer sb=new StringBuffer();

Pattern pattern=Pattern.compile("([A-Za-z\\d]+)(_)?");

Matcher matcher=pattern.matcher(line);

while(matcher.find()){

String word=matcher.group();

sb.append(smallCamel&&matcher.start()==0?Character.toLowerCase(word.charAt(0)):Character.toUpperCase(word.charAt(0)));

int index=word.lastIndexOf('_');

if(index>0){

sb.append(word.substring(1, index).toLowerCase());

}else{

sb.append(word.substring(1).toLowerCase());

}

}

return sb.toString();

}

/**

* 驼峰法转下划线

* @param line 源字符串

* @return 转换后的字符串

*/

public static String camelToUnderline(String line){

if(line==null||"".equals(line)){

return "";

}

line=String.valueOf(line.charAt(0)).toUpperCase().concat(line.substring(1));

StringBuffer sb=new StringBuffer();

Pattern pattern=Pattern.compile("[A-Z]([a-z\\d]+)?");

Matcher matcher=pattern.matcher(line);

while(matcher.find()){

String word=matcher.group();

sb.append(word.toUpperCase());

sb.append(matcher.end()==line.length()?"":"_");

}

return sb.toString();

}

}

2.测试

public static void main(String[] args) {

String line="I_HAVE_AN_IPANG3_PIG";

String camel=underlineToCamel(line,true);

System.out.println(camel);

System.out.println(camelToUnderline(camel));

}

3.方法补充

除了上面的方法,本文还为大家准备了更简短的方法,需要的可以参考一下

/***

*

* 将驼峰转为下划线

*

* @param str

* @return java.lang.String

* @author comapss

* @date 2022/5/9 0:01

* @since 1.0.0

**/

public stathttp://ic String humpToUnderline(String str) {

Pattern compile = Pattern.compile("[A-Z]");

Matcher matcher = compile.matcher(str);

StringBuffer sb = new StringBuffer();

while(matcher.find()) {

matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerhttp://Case());

}

matcher.appendTail(sb);

return sb.toString();

}

/***

*

* 将下划线转为驼峰

*

* @param str

* @return java.lang.String

* @author comapss

* @date 2022/5/9 0:01

* @since 1.0.0

**/

public static String underlineToHump(String str) {

str = str.toLowerCase();

Pattern compile = Pattern.compile("_[a-z]");

Matcher matcher = compile.matcher(str);

StringBuffer sb = new StringBuffer();

while(matcher.find()) {

matcher.appendReplacement(sb, matcher.group(0).toUpperCase().replace("_",""));

}

matcher.appendTail(sb);

return sb.toString();

}

以上就是Java实现驼峰和下划线互相转换的示例代码的详细内容,更多关于Java驼峰 下划线互转的资料请关注我们其它相关文章!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java中方法优先调用可选参数还是固定参数(java调用方法的参数)
下一篇:SpringBoot整合Shiro的方法详解(springboot整合shiro和redis)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~