C# Kelime Heceleme İşlemi, dersim ile c sharp eğitimlerimize devam ediyorum. Sizlere de lazım olabilir diye düşünüp yayınlamak istedim. Bu dersimde kelimeleri hecelere ayırma işlemini göstereceğim.
C# Kelime Heceleme İşlemi
Öncelikle formumuza iki textbox ve bir buton ekleyelim. Butona tıkladığımızda textbox1 de yazan cümleyi, textbox2 ye yazacağız. Bu işlem için ek bir namespace kullanmayacağız ve if else, substring ve ındexof metodlarını kullanacağız. Şimdi formumuzu hazırladıktan sonra aşağıdaki kodlarımızı kod kısmına yapıştırıyoruz.
string CumleHeceleme(string Metin) { const string Sesli_Harfler = "aeıioöuüAEIİOÖUÜ"; const string Sessiz_Harfler = "bçdfgğhjklmnprsştvyzBÇDFGĞHJKLMNPRSŞTVYZ"; const string OzelKarakterler = "., ;\'!?\""; Metin = (Metin + " "); string Hece = ""; int Index = 1; string AlinanHece = ""; IslemeBasla: for (int i = Index; (i <= Metin.Length); i++) { //Önce karakterleri kontrol et. Eğer boşluk varsa döngüyü tekrar çalıştır if (((OzelKarakterler.IndexOf(Metin.Substring((i - 1), 1), 0) + 1) > 0)) { // boşluk ise direkt başa dön AlinanHece = Metin.Substring((Index - 1), 1); Hece = (Hece + AlinanHece); Index++; goto IslemeBasla; } if (((Sessiz_Harfler.IndexOf(Metin.Substring((i - 1), 1), 0) + 1) > 0)) { // ilk harf sessiz if (((Sesli_Harfler.IndexOf(Metin.Substring(i, 1), 0) + 1) > 0)) { // ikinci harf sesli if (((Sessiz_Harfler.IndexOf(Metin.Substring((i + 1), 1), 0) + 1) > 0)) { // Üçüncü harf sessiz if (((Sesli_Harfler.IndexOf(Metin.Substring((i + 2), 1), 0) + 1) > 0)) { // dördüncü harf sesli ise ilk iki harf hecedir. AlinanHece = (Metin.Substring((Index - 1), 2) + "-"); Hece = (Hece + AlinanHece); Index += 2; goto IslemeBasla; } if (((Sessiz_Harfler.IndexOf(Metin.Substring((i + 2), 1), 0) + 1) > 0)) { // dördüncü harf te sessiz if (((Sesli_Harfler.IndexOf(Metin.Substring((i + 3), 1), 0) + 1) > 0)) { // 5.harf sesli ise ilk 3 harf hecedir. AlinanHece = (Metin.Substring((Index - 1), 3) + "-"); Hece = (Hece + AlinanHece); Index += 3; goto IslemeBasla; } if (((Sessiz_Harfler.IndexOf(Metin.Substring((i + 3), 1), 0) + 1) > 0)) { // 5.harf sessiz ise ilk 4 harf hecedir. AlinanHece = (Metin.Substring((Index - 1), 4) + "-"); Hece = (Hece + AlinanHece); Index += 4; goto IslemeBasla; } } } if (((Sesli_Harfler.IndexOf(Metin.Substring((i + 1), 1), 0) + 1) > 0)) { // Üçüncü harf sesli ise ilk iki harf hecedir. AlinanHece = (Metin.Substring((Index - 1), 2) + "-"); Hece = (Hece + AlinanHece); Index += 2; goto IslemeBasla; } } if (((Sessiz_Harfler.IndexOf(Metin.Substring(i, 1), 0) + 1) > 0)) { // ikinci de sessiz ise ilk 4 harf hecedir. AlinanHece = (Metin.Substring((Index - 1), 4) + "-"); Hece = (Hece + AlinanHece); Index += 4; goto IslemeBasla; } } if (((Sesli_Harfler.IndexOf(Metin.Substring((i - 1), 1), 0) + 1) > 0)) { // ilk harf sesli if (((Sessiz_Harfler.IndexOf(Metin.Substring(i, 1), 0) + 1) > 0)) { // ikinci harf sessiz if (((Sessiz_Harfler.IndexOf(Metin.Substring((i + 1), 1), 0) + 1) > 0)) { // Üçüncü harf sessiz. if (((Sesli_Harfler.IndexOf(Metin.Substring((i + 2), 1), 0) + 1) > 0)) { // Dördüncü harf sesli ise ilk iki harf hecedir. AlinanHece = (Metin.Substring((Index - 1), 2) + "-"); Hece = (Hece + AlinanHece); Index += 2; goto IslemeBasla; } if (((Sessiz_Harfler.IndexOf(Metin.Substring((i + 2), 1), 0) + 1) > 0)) { // dördüncü harf te sessiz ise ilk üç harf hecedir. AlinanHece = (Metin.Substring((Index - 1), 3) + "-"); Hece = (Hece + AlinanHece); Index += 3; goto IslemeBasla; } } if (((Sesli_Harfler.IndexOf(Metin.Substring((i + 1), 1), 0) + 1) > 0)) { // Üçüncü harf sesli.Bu durumda ilk harf hece demektir. AlinanHece = (Metin.Substring((Index - 1), 1) + "-"); Hece = (Hece + AlinanHece); Index++; goto IslemeBasla; } } } } return Hece; }
Buradaki kodlar ile metoda gönderilen metini heceledikten sonra hecelenmiş halini bir textbox’a yazacak . Bu kodlar ne gibi durunlarda işimize yarayacak bilemiyorum ancak bir kişi oturup bu kodları yazdıysa elbette bir gün bir yerde işimize yarayabilir diye düşünüyorum.
Bu konuda anlatılacak pek bir şey olmadığından bu dersimiz bu kadar. Zaten kodlar arasında açıklamalar mevcut.
C# Kelime Heceleme İşlemi, dersimizde bu kadar dostlar. Diğer derslerimizde görüşmek üzere.
C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.
Ayrıca kısa süre önce tüm YENİ derslerimi tek bir proje içinde yapıp github’a yükleyeceğim demiştim. Bu dersimde o projenin içerisinde bir klasör olarak yerini almıştır. Buraya tıklayarak projeye ulaşabilirsiniz.
Sağlıcakla ve takipte kalın ;)
Bol kodlu günler..