Metin İstatisklerini Almak
Merhaba arkadaşlar, bu makalemizde textBox ta çok satırlı bir metin kutusuna girilen metnin hece, kelime ve cümle sayılarını hesaplalıyoruz ve girilen bir kelimenin metin içerisinde geçme sayısı buluyoruz.
Şekil 1
Form1.vb
Imports System.Windows.Forms.VisualStyles.VisualStyleElement.Button
Public Class Form1
Dim str, ara, sonkarakter As String
Dim kelimeSayisi, cumleSayisi, heceSayisi, i, konum, sayac As Integer
Private Sub btnAra_Click(sender As Object, e As EventArgs) Handles btnAra.Click
str = txtMetin.Text
If RadioButton1.Checked Then 'Birebir eşit olmadan serbest arama. Yani "masa" aranırken "masal" da bulunur.
ara = txtAra.Text
Else
ara = " " + txtAra.Text + " " 'Birebir tam eşit arama. "masa" aranırken, "masal" bulunmaz.
End If
sayac = 0
konum = 1
Do
i = Strings.InStr(konum, str, ara) '"ara" kelime "str" içersinde "konum"dan başlayarak aranıyor.
If i <> 0 Then sayac = sayac + 1
konum = i + Strings.Len(ara) 'Bulunca aramaya yeni konumdan devam et.
Loop Until i = 0
txtSayi.Text = sayac
End Sub
Private Sub btnIstatistikAl_Click(sender As Object, e As EventArgs) Handles btnIstatistikAl.Click
str = txtMetin.Text + " "
kelimeSayisi = 0
cumleSayisi = 0
heceSayisi = 0
For j = 0 To Strings.Len(str) - 1 'Metni sonuna kadar karakter karakter tarıyor.
If str(j) = " " Then kelimeSayisi = kelimeSayisi + 1 'Kelime sayısı = boşluk sayısı. Çünkü yukarıda fazladan bir boşluk eklemiştik.
If j = Strings.Len(str) - 1 Then Exit For 'Aşağıdaki koşulda son karakterden sonra(j + 1) arama yapmasın
If (str(j) = "." And (str(j + 1) = " " Or Strings.AscW(str(j + 1)) = 13)) Or str(j) = "?" Or str(j) = "!" Then cumleSayisi = cumleSayisi + 1
'Hece sayısı=sesli harf sayısı:
If str(j) = "a" Or str(j) = "e" Or str(j) = "ı" Or str(j) = "i" Or str(j) = "o" Or str(j) = "ö" Or str(j) = "u" Or str(j) = "ü" Then heceSayisi = heceSayisi + 1
Next
TextBox3.Text = cumleSayisi
TextBox2.Text = kelimeSayisi
TextBox1.Text = heceSayisi
End Sub
End Class
Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN