我是靠谱客的博主 壮观机器猫,最近开发中收集的这篇文章主要介绍JAVA驼峰和下划线互相转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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));
 }

最后

以上就是壮观机器猫为你收集整理的JAVA驼峰和下划线互相转换的全部内容,希望文章能够帮你解决JAVA驼峰和下划线互相转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部