Konu: text okuma
View Single Post
Eski 14/11/2004, 15:24   #3 (permalink)
yildizib
.
 
yildizib Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 10/2003
Mesaj: 629
Varsayılan

Kod:
 
       String aText="The Brown fox jumps over the lasy dog.";
       aText+="The Brown fox jumps over the lasy dog.";
       aText+="The Brown fox jumps over the lasy dog.";
Burada senin "metot yanlış sayım veriyor" un sebebi "." dan sonra olan kelimeyi de ona iliştiriyor o yüzden yanlış sayım alıyorsun.Bunu kendin de anlayabilirdin mesela token'ları ekrana bastırarak(Debuging).Bir yerde görecektin ki şu var;

"dog.The"

Çünkü StringTkenizer'e delimeter verilmediğinde delimeter " " (boşluk) karakteridir.dog ile The arasında boşluk olmadığı için bunu tek kelime olarak görüyor.Tavsiyem ".,! vb..." gibi noktalama işaretlerini String classının replace() metodu ile " " karakterine değiştirmek ve tekrar StringTokenizer'e vermektir.

Kod:
        StringTokenizer sentences=new StringTokenizer(aText,".");
        int sentencesCount=sentences.countTokens();
        //operasyon başlıyor.
        char [] signs={'.',',','!',';',':','?'};
        String newText=getCleanedText(aText);
        StringTokenizer words=new StringTokenizer(newText);
        int wordsCount=words.countTokens();

        System.out.println(sentencesCount);
        System.out.println(wordsCount);
Kod:
         public String getCleanedText(String aText){
                String transformedText=aText;
                for(int i=0;i<signs.length;i++){
                       char replace=signs[i];
                       transformedText.replace(replace,' ');
                }
                return transformedText;
        }
yildizib hatta değil   Alıntı Yaparak Yanıtla