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"); } }
用正则表达式啊::: 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; } } }
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] ;
这个简单啦
你可以自己加工的更加通用
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");
}
}
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;
}
}
}
的代码不对,
因为我的值有可能是32Xdsa;3213Xdsd
也可能是32Xdsdds
也可能是43242Xdfsfdds;434Xdsada;dsadsX4343
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");
}
}
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");
}
}
也可能是32Xdsdds
也可能是43242Xdfsfdds;434Xdsada;dsadsX4343
-----------------------------------------------------------
这样的问题居然不用正则表达试???????????????????????????
看看我上面给你的代码,好好研究一下.