大致代码和说明如下:
package test;
/**
* @author : suyuyuan
* @date :2016年5月18日 下午2:24:15
* @version 1.0
*/
public class ChangeUpList {
public static void main(String[] args) {
String s = "MEMBER_ID CARD_NO CARD_TYPE BIRTHDAY END_DATE DELETED ADD_TIME UPDATE_TIME"; //输入需要转化的长字符串。包含若干空格和制表符:
String newstr1=s.replaceAll(" ",","); //先把所有空格替换成 逗号。
// System.out.println("newstr1:"+newstr1);
String newstr2=newstr1.replaceAll("\t",","); //再把所有的制表符替换成逗号。
// System.out.println("newstr2:"+newstr2);
String newstr3=newstr2.replaceAll(",+", ";\tprivate String "); //把所有重复的逗号合并成一个制表符,并添加上指定的字符串,方便用于复制到excel中。
// System.out.println("newstr3:"+newstr3);
String str=newstr3;
String lower = str.toLowerCase();
String upper = str.toUpperCase();
System.out.println(lower);
System.out.println(upper);
String slower = lower;
StringBuilder sb=new StringBuilder(slower);
String[] strings= new String[10];
int i = slower.indexOf('_');
int j=1;
strings[0]=slower.substring(0,1).toUpperCase(); //strings[0]存储第一个大写字符;
// System.out.println(strings[0]);
while (i != -1) {
strings[j]=slower.substring(i+1,i+2).toUpperCase();
System.out.println("当前索引位置"+i+"在字符串数组strings中的位置:"+j+"已经替换成"+strings[j]);
// System.out.println("替换成大写前:"+sb.toString());
sb.replace(i+1, i+2, strings[j]);
// System.out.println("替换成大写后:"+sb.toString());
i = slower.indexOf('_', i + 1);
j++;
}
// sb.replace(0,1,strings[0]);
// System.out.println("首字母替换成大写后:"+sb.toString());
String s1=sb.toString();
// System.out.println(s1);
String str1=s1.replaceAll("_", "");
System.out.println(str1);
sb.replace(0,1,strings[0]);
// System.out.println("首字母替换成大写后:"+sb.toString());
String s2=sb.toString();
// System.out.println(s2);
String stru=s2.replaceAll("_", "");
System.out.println(stru);
String newstru="private String "+stru.replaceAll("string", "String")+";"; //拼接成想要的结果。
System.out.println(newstru);
}
}
说明:最后得到的结果复制到excel当中,再在excel中复制一次,换一个单元格右键选择选择性粘贴,勾选转置,确定复制即可。