日期:2014-05-17  浏览次数:20709 次

java中如何将“我爱你abc我123”转换成“我爱你[Aa][Bb][Cc]我123”
java中如何将“我爱你abc我123”转换成“我爱你[Aa][Bb][Cc]我123”
java 数据转换 abc web

------解决方案--------------------
如果说,单纯将你给的字符串转换的话,可以这么处理。
假设,要对所有字符串进行“字符串-字母-字符-数字”这样处理的话,需要进行调整。
本人新手,代码如下,众大神见笑。(还望指点)

public class ConvertTest {
/**
 * java中如何将“我爱你abc我123”转换成“我爱你[Aa][Bb][Cc]我123”
 * @author Milo 2013-9-10
 * @param args
 */
public static void main(String[] args) {
String s = "我爱你abc我123" ;
System.out.println("Start with : " + s);
String result = myString(s) ;
System.out.println("End with : " + result);
}
public static String myString(String s){
String[] st = new String[]{"我" , "爱" , "你"} ;
StringBuffer sb = new StringBuffer() ;
char[] ch = s.toCharArray() ;
for(char cha : ch){
for(String str : st){
if(String.valueOf(cha).equals(str)){
sb.append(str) ;
}
}
if(cha >=48 && cha <=57 ){
sb.append(Integer.parseInt(String.valueOf(cha))) ;
}
else if(cha >=97 && cha <=122){
sb.append("[") ;
sb.append(String.valueOf((char)(cha - 32))) ;
sb.append(String.valueOf(cha)) ;
sb.append("]") ;
}
}
return sb.toString() ;
}
}
//结果:
//Start with : 我爱你abc我123
//End with : 我爱你[Aa][Bb][Cc]我123

------解决方案--------------------
楼主只是要把小写的变成[大写+小写]吗

String str = "我爱你abc我123";
StringBuilder sb=new StringBuilder();
for(int i=0;i<str.length();i++){//循环字符串
   char c=str.charAt(i);
   if(Character.isLowerCase(c)){//当碰到小写的时候变成[大写+小写]
sb.append("["+Character.toUpperCase(c)+c+"]");
   }else{//其它情况直接添加