比如说获得一组数据时这样的12:23:89:67:67:45...
我要将它转换成1223:8967:6745:...
急!!!谢谢大家帮忙啊

解决方案 »

  1.   

    一个方法用字符一个个数,另一个方法用正则。
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test {
    public static void main(String args[]) {
    String str = "12:23:89:67:67:45";
    System.out.println(trans_1(str));
    System.out.println(trans_2(str));
    } public static String trans_1(String str) {
    StringBuilder sb = new StringBuilder();
    boolean add = false;
    for (char c : str.toCharArray()) {
    if (c == ':') {
    if(add){
    sb.append(c);
    }
    add = !add;
    }else{
    sb.append(c);
    }
    }
    return sb.toString();
    } public static String trans_2(String str) {
    Pattern p = Pattern.compile("(\\d\\d)(:)(\\d\\d:?)");
    Matcher matcher = p.matcher(str);
    StringBuilder sb = new StringBuilder();
    while(matcher.find()){
    sb.append(matcher.group(1));
    sb.append(matcher.group(3));
    }
    return sb.toString();
    }}