String . split
new String

解决方案 »

  1.   

    就是按照楼上的做法    
        String s1 ="123X323" ;
        String s2 ="12X34342" ;
        String temp1[] = s1.split("X") ;
        String temp2[] = s2.split("X") ;
        String newstring1 = temp1[0]+";"+temp2[0] ;
        String newstring2 = temp1[1]+";"+temp2[1] ;
    这个简单啦 
    你可以自己加工的更加通用
      

  2.   

    public class Test{
        public static void main(String[] args){
            String s="123X3233;12X34342";
            String[]s1=s.split(";");        String[]s11=s1[0].split("X");
            String[]s12=s1[1].split("X");        String t1=s11[0]+";"+s12[0];
            String t2=s11[1]+";"+s12[1];        System.out.println(t1);
            System.out.println(t2);
            System.out.println("over");
        }
    }
      

  3.   

    用正则表达式啊:::
    import java.util.regex.*;
    public class Regtest{
    public static void main(String[] args){
    System.out.print(RegChange.Change("123X3233;12X34342"));



    }
    class RegChange{
    public static String Change(String str){
    String res;
    try{
         Pattern p = Pattern.compile("([0-9]+)\\D+([0-9]+)\\D+([0-9]+)\\s+([\\S]*)");
    Matcher m = p.matcher(str);
    StringBuffer sb = new StringBuffer();
    boolean result = m.find();
    res =m.group(1)+";"+m.group(3)+"-"+m.group(2)+";"+m.group(4);
    return res.trim();
    }
    catch(Exception e){
    System.out.println("RegChange is wrong!");
    return null;
    }
    }
    }
      

  4.   

    tenix(特尼克斯) 
    的代码不对,
    因为我的值有可能是32Xdsa;3213Xdsd
    也可能是32Xdsdds
    也可能是43242Xdfsfdds;434Xdsada;dsadsX4343
      

  5.   

    public class Test{
        public static void main(String[] args){
            String s="43242Xdfsfdds;434Xdsada;dsadsX4343";
            String[]s1=s.split(";");
            String[][]s2=new String[s1.length][];
            for(int i=0;i<s1.length;i++){
                s2[i]=s1[i].split("X");
            }
            String[]s3=new String[2];
            s3[0]=s2[0][0];
            s3[1]=s2[1][0];
            for(int i=1;i<s2.length;i++){
                s3[0]=s3[0]+";"+s2[i][0];
                s3[1]=s3[1]+";"+s2[i][1];
            }
            System.out.println(s3[0]);
            System.out.println(s3[1]);
            System.out.println("over");
        }
    }
      

  6.   

    sorry,上个错了。public class Test {    public static void main(String[] args) {
            String s = "43242Xdfsfdds;434Xdsada;dsadsX4343";
            //String s = "32Xdsdds";
            String[] s1 = s.split(";");
            String[][] s2 = new String[s1.length][];
            for (int i = 0; i < s1.length; i++) {
                s2[i] = s1[i].split("X");
            }
            String[] s3 = new String[2];
            s3[0] = s2[0][0];
            s3[1] = s2[0][1];
            for (int i = 1; i < s2.length; i++) {
                s3[0] = s3[0] + ";" + s2[i][0];
                s3[1] = s3[1] + ";" + s2[i][1];
            }
            System.out.println(s3[0]);
            System.out.println(s3[1]);
            System.out.println("over");
        }
    }
      

  7.   

    因为我的值有可能是32Xdsa;3213Xdsd
    也可能是32Xdsdds
    也可能是43242Xdfsfdds;434Xdsada;dsadsX4343
    -----------------------------------------------------------
    这样的问题居然不用正则表达试???????????????????????????
    看看我上面给你的代码,好好研究一下.