String line1 = "1375959980100015642 56 张鼎新 117.00";
String line2 = "1375959980100015689|57|孙宏杰|187.00|";
怎样分解者两个字符串呢?line1是以多个或者一个”空格“分隔的,line2是以”|“我想去掉得到具体的数值如:number=1375959980100015642
age=56
name=张鼎新
money=117.00
number=1375959980100015689
age=57
name=孙宏杰
money=187.00磨蹭了一个一下午抗不住了,请哪位指教一下,谢谢。
String line2 = "1375959980100015689|57|孙宏杰|187.00|";
怎样分解者两个字符串呢?line1是以多个或者一个”空格“分隔的,line2是以”|“我想去掉得到具体的数值如:number=1375959980100015642
age=56
name=张鼎新
money=117.00
number=1375959980100015689
age=57
name=孙宏杰
money=187.00磨蹭了一个一下午抗不住了,请哪位指教一下,谢谢。
String str1 = "number="+str[0]+"\nage="+str[1]+........;
String str1 = "number="+str[0]+"\nage="+str[1]+........;
楼上正解
String str1 = "number="+str[0]+"\nage="+str[1]+........;应该是这样
public class SplitTest { public static String[] getStringArraysInfo(String tag, String str) { String[] arrays = str.split(tag); arrays[0] = "number:" + arrays[0];
arrays[1] = "age:" + arrays[1];
arrays[2] = "name:" + arrays[2];
arrays[3] = "money:" + arrays[3]; return arrays;
} public static void main(String[] args) { String line1 = "1375959980100015642 56 张鼎新 117.00";
String line2 = "1375959980100015689|57|孙宏杰|187.00"; String[] arraysInfo1 = getStringArraysInfo(" ", line1);
System.out.println(arraysInfo1[0] + '\n' + arraysInfo1[1] + '\n' + arraysInfo1[2] + '\n' + arraysInfo1[3]); System.out.println(); String[] arraysInfo2 = getStringArraysInfo("\\|", line2);
System.out.println(arraysInfo2[0] + '\n' + arraysInfo2[1] + '\n' + arraysInfo2[2] + '\n' + arraysInfo2[3]);
}
}
str2.split("\\s+");
split本身就是正则匹配,为什么要先转换再分隔?我接收一个字符串难道要先写到文件中再读回头?
public static void main(String[] args) {
String line1 = "1375959980100015642 56 张鼎新 117.00";
String line2 = "1375959980100015689|57|孙宏杰|187.00|";
for(String str : line1.split("\\s+")) {
System.out.println(str);
}
for(String str : line2.split("\\|")) {
System.out.println(str);
}
}
七楼的line2.split("\\|"); 正解!
import java.util.Arrays;public class SplitString { public static void main(String[] args) {
String line1 = "1375959980100015642 56 张鼎新 117.00 ";
String line2 = "1375959980100015689|57|孙宏杰|187.00|";
String[] rs1 = line1.split("\\s+");
String[] rs2 = line2.split("\\|");
System.out.println(Arrays.toString(rs1));
System.out.println(Arrays.toString(rs2));
}}输出:
[1375959980100015642, 56, 张鼎新, 117.00]
[1375959980100015689, 57, 孙宏杰, 187.00]
和楼上差不多的代码,只不过把分隔的正则合成一个了
String line1 = "1375959980100015642 56 张鼎新 117.00";
String line2 = "1375959980100015689|57|孙宏杰|187.00|";
String reg = "\\s+|\\|";
String[] str = line1.split(reg);
for(String s:str)
System.out.println(s);str = line2.split(reg);
for(String s:str)
System.out.println(s);