假如c盘有个txt文本文件
内容如下:
a b d b f
然后我解析:
[code="java"]File f = new File("C:/新建 文本文档.txt");
try {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s ="";
while( ( s = br.readLine())!=null ){ //遍历第1行
String [] ss = s.split(" ");
for(String t :ss){
System.out.print(t+"-");
}
}
} catch (Exception e) {
e.printStackTrace();
} [/code]
打印结果:
a-----b----d--------b------------f-
为什么不是
a-b-d-b-f- (怎么解析才能这样的效果呢) 而且中间打印ss的长度 发现也不是想要的 长度好长啊
String [] ss = s.split(" ");
你这里是根据空格来分隔字符的
你是想利用一个或多个空格分隔吧。
改改就行了了
[code="java"]
String [] ss = s.split("\s+");
[/code]
在split之前,把多个空格替换为一个空格
[code="java"] String s = "a b c";
s = s.replaceAll(" +", " ");[/code]
正则表达式
\s :匹配任意的空白符
\s+ 就表示匹配一个或多个