Yine uzun bir gece oldu ama az önce paylaştığım Java'da önek (prefix) kontrolünden sonra sonek (suffix) kontrolü yapmayı da göstermeden uyuyamazdım. Önceki soruda olduğu gibi Yahya Kemal Beyatlı'nın Sessiz Gemisi bizim String değişkenimiz oluyor ve biz bu yazının sonunun ne ile bitip bitmediğini kontrol ediyoruz:
String SessizGemi="dünyada sevilmiş ve seven nafile bekler bilmez ki giden sevgililer dönmeyecekler";
System.out.println(SessizGemi.endsWith("r")); //true
System.out.println(SessizGemi.endsWith("dönmeyecekler")); //true
System.out.println(SessizGemi.endsWith("sevgililer")); //false
String.endsWith() yönteminde, String.startsWith() yönteminde olduğu gibi kaçıncı karakterden itibaren bakılacağını ayarlayabildiğimiz bir overload yok. Son olarak bu bilgi bizim gerçek hayatta ne işimize yarayacak diye soracak olanlar için Java'da son karakter değiştirme örneğine bir göz atmalarını tavsiye ederim. Burada son karakteri char'a dönüştürerek ve if ile denetleyerek önce son karakterin ne olduğunu bulmak durumunda kalıyorduk, şimdi ise tek yapmamız gereken String.endsWith() yöntemini kullanmak. Hatta bu sorudaki örneği de aşağıdaki gibi güncelleyelim:
public static void main(String [] args) {
String SessizGemi="dünyada sevilmiş ve seven nafile bekler bilmez ki giden sevgililer dönmeyecekler";
System.out.println(SonYaziyiSil(SessizGemi,"ler"));
}
public static String SonYaziyiSil (String girdi, String son)
{
if (girdi.endsWith(son))
girdi = girdi.substring(0, girdi.length()-son.length());
return girdi;
}
Çıktı: dünyada sevilmiş ve seven nafile bekler bilmez ki giden sevgililer dönmeyecek