Aizu Onlineジャッジの問題で、単語W、複数行にまたがった文章(END_OF_TEXTまで)が与えられており、文章のうち単語Wに一致するものの個数を出力せよ、という問題があるのですが、解けません。

以下のようにreplaceAllを使って解こうと思ったのですが、
text=text.replaceAll(".", " ");
では.が取り除けていないのか、textが空行になってしまいます。

どこが間違っているのでしょうか。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;



public class test{
    public static void main(String[] args){

        BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));

        try{
            String W=reader.readLine().toLowerCase();
            String text="";

        while(true){
        String p=reader.readLine();
        if(p.equals("END_OF_TEXT"))break;
        text+=p.toLowerCase();
        }

        System.out.println(text);

        text=text.replaceAll(".", " ");
        System.out.println(text);

        String[] array_text=text.split(" ");
        int count=0;
        for(int i=0;i<array_text.length;i++){
            System.out.println(array_text[i]);

            if(array_text[i].equals(W)){
                count++;
            }
        }

        System.out.println(count);
        //splitでは「.」を区切り文字として読み込めていない。


        }catch(IOException e){
            System.out.print(e);
        }
    }

}