public void testHarfDegistir() { HarfDizisi kelime = new HarfDizisi("kedicikler", alfabe); kelime.harfDegistir(0, alfabe.harf('c')); kelime.harfDegistir(3, alfabe.harf('a')); Assert.AreEqual(kelime.ToString(), "cedacikler"); }
public void uygula(HarfDizisi dizi) { if (dizi.aradanKiyasla(dizi.Length - 2, NK)) { dizi.harfDegistir(dizi.Length - 1, alfabe.harf('g')); } }
public void kelimeBicimlendir(Kelime kelime) { Kok kok = kelime.kok(); HarfDizisi olusan = kelime.icerik(); if (kok.tip().Equals(KelimeTipi.KISALTMA)) { //cozumleme sirasinda eklenmis harf varsa onlari sil. int silinecek = kok.icerik().Length; if (kok.ozelDurumIceriyormu(TurkceKokOzelDurumTipi.KISALTMA_SON_SESSIZ)) { silinecek += 2; } if (kok.ozelDurumIceriyormu(TurkceKokOzelDurumTipi.KISALTMA_SON_SESLI)) { silinecek++; } //kelimenin olusan kismindan kokun icereigini sil. olusan.harfSil(0, silinecek); //simdi kokun orjinal halini ekle. olusan.ekle(0, new HarfDizisi(kok.asil(), alfabe)); if (olusan.Length == kok.asil().Length) { return; } //eger gerekiyorsa kesme isareti koy. if (!olusan.harf(kok.asil().Length - 1).Equals(alfabe.harf('.'))) { olusan.ekle(kok.asil().Length, alfabe.harf('\'')); } } else if (kok.tip() == KelimeTipi.OZEL) { olusan.harfDegistir(0, alfabe.buyukHarf(olusan.ilkHarf())); if (kok.ozelDurumIceriyormu(TurkceKokOzelDurumTipi.KESMESIZ)) { return; } List <Ek> ekler = kelime.ekler(); if (ekler.Count > 1) { Ek ek = (Ek)ekler[1]; if (ek.iyelikEkiMi() || ek.halEkiMi()) { int kesmePozisyonu = kok.icerik().Length; olusan.ekle(kesmePozisyonu, alfabe.harf('\'')); } } } // ozel ic karakter iceren kokler icin bicimleme /* if (kok.ozelDurumlar().contains(TurkceKokOzelDurumlari.OZEL_IC_KARAKTER)) { * //olusan ksimdan koku sil * int silinecek = kok.icerik().length(); * olusan.harfSil(0, silinecek); * //simdi kokun orjinal halini ekle. * olusan.ekle(0, new HarfDizisi(kok.asil())); * }*/ }
/** * en son kalin sesli harfi bulup onu ince formu ile degistirir. * ornegin saat -> saAt haline donusur. ince a harfi icin TurkceAlfabe sinifini inceleyin * * @param dizi */ public void uygula(HarfDizisi dizi) { for (int i = dizi.Length - 1; i >= 0; i--) { TurkceHarf h = dizi.harf(i); if (h.sesliMi() && !h.inceSesliMi()) { dizi.harfDegistir(i, _alfabe.kalinSesliIncelt(dizi.harf(i))); } } }
public void uygula(HarfDizisi dizi) { if (dizi.aradanKiyasla(dizi.Length - 2, NK)) dizi.harfDegistir(dizi.Length - 1, alfabe.harf('g')); }