日期:2014-05-20  浏览次数:20714 次

正则表达式的问题 求帮助
一个求从文件读取后单词量的问题 我写的如下

package IOTest;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int count=0;//统计字符的个数
try {
BufferedReader in =new BufferedReader(new FileReader("F:/1.txt"));
String s=in.readLine();
while(s!=null){
  s.replaceAll("//s+", " ");
String[] t=s.split("//s+");
for(int i=0;i<t.length;i++){ //输出观察是否有错
System.out.println(t[i]);
}
count=s.length();
s=in.readLine();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("文本中的单词数量为"+count);

}

}


正则表达式试了好多,都没成功,希望将多个连续空格替换为一个空格,通过split得到的数组长度得到单词数量,

------解决方案--------------------
怎么可能不行呢。

Java code

    public static void main(String[] args) throws Exception {
        String s = "i    am    king";
        s = s.replaceAll("\\s+", " ");
        String[] t = s.split("\\s+");
        for (int i = 0; i < t.length; i++) { //输出观察是否有错
            System.out.println(t[i]);
        }
    }

//打印结果
i
am
king