Hi,
txt中的一行
123 ABC 12345 123456ED 中间的空格数不一样。
我想读取这一行中的每个值String [] str_list = line.split(" ");这样的话它就会以一个空格为分隔符来处理
如何才能使它与空格的数量无关?
txt中的一行
123 ABC 12345 123456ED 中间的空格数不一样。
我想读取这一行中的每个值String [] str_list = line.split(" ");这样的话它就会以一个空格为分隔符来处理
如何才能使它与空格的数量无关?
楼主【cookies1st】截止到2008-07-24 14:50:03的历史汇总数据(不包括此帖):
发帖的总数量:1 发帖的总分数:0 每贴平均分数:0
回帖的总数量:0 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:0 结贴的总分数:0
无满意结贴数:0 无满意结贴分:0
未结的帖子数:1 未结的总分数:0
结贴的百分比:0.00 % 结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
public class Main { public static void main(String[] args) {
String s="123 ABC 12345 123456ED ";
s=s.replaceAll("[ ]+", " ");//将多个空格替换为一个空格
String result[]=s.split(" ");
for(String temp:result){
System.out.println(temp);
}
}
}
Matcher m = Pattern.compile(" +").matcher(line);;
if(m.find()) {
m.replaceAll(" ");
}如果匹配2个或2个以上的空格就替换成一个空格
源文件
-30.000 10.000 0.000 0.000 0A0000FFFF0801000065FFFFFFFF0000 R1
-34.000 12.000 0.000 90.000 0A0000FFFF0801000102FFFFFFFF0000 R2
-38.000 14.000 0.000 90.000 0A0000FFFF0801000203FFFFFFFF0000 R3
-42.000 16.000 0.000 -90.000 0A0000FFFF0801000300FFFFFFFF0000 R4
-44.000 18.000 0.000 180.000 0A0000FFFF0801000067FFFFFFFF0001 C1
-50.000 20.000 0.000 0.000 0A0000FFFF0801000101FFFFFFFF0001 C2
-54.000 22.000 0.000 270.000 0A0000FFFF0801000200FFFFFFFF0001 C3
-58.000 24.000 0.000 90.000 0A0000FFFF0801000302FFFFFFFF0001 C4期望的结果:
-30.000 10.000 0.000 R1
-34.000 12.000 90.000 R2
-38.000 14.000 90.000 R3
-42.000 16.000 -90.000 R4
-44.000 18.000 180.000 C1
-50.000 20.000 0.000 C2
-54.000 22.000 270.000 C3
-58.000 24.000 90.000 C4Code:while((line = br.readLine())!= null){
//line = br.readLine().replaceAll("[ ]+", " ");
String temp = br.readLine().replaceAll("[ ]+", " ");
String [] str_list = temp.split(" ");
for(int i=0; i<str_list.length; i++){
System.out.println(str_list[i]);
}
}代码哪里有问题噢~?
为什么每次要readLine()两遍?
-30.000
10.000
0.000
R1
-34.000
...
注意print() 和println()的区别
str_list = line.replaceAll("[ ]+", " ").split(" ");
s=s.replaceAll("[ ]+", " ");//将多个空格替换为一个空格
str_list = line.replaceAll("[ ]+", " ").split(" ");
String [] str_list = temp.split(" ");
System.out.println(str_list[1]+" "+str_list[2]+" "+str_list[4]+" "+str_list[6]+"\n");
}