Files
ornekler/dersler/09-metin-islemleri.md
T
semih 494781e84f Dersler ve Temeller; web örnekleri PORT ortam değişkenini okur
- dersler/: 29 kısa ders (açıklama, çalıştırılabilir örnek, alıştırma). Her örneğin
  ve alıştırma çözümünün çıktısı Online IDE'nin hazırlık adımında gerçekten koşulup
  dosyadakiyle karşılaştırılır; biçim dersler/BICIM.md.
- temeller/: tek konulu 12 başlangıç programı.
- web/anket, web/kisalt, web/pano: port PORT ortam değişkeninden okunur (Online IDE
  önizlemesi 8080 verir), yoksa eski sabit port.
- README: öğrenme bölümü, Online IDE bağlantısı.
2026-10-17 22:07:47 +03:00

177 lines
3.9 KiB
Markdown

---
baslik: Metin işlemleri
bolum: Temeller
ozet: buyut, kucult, kirp, bol, birlestir, degistir, bul ve diğer metin yöntemleri
---
Metinlerin kendi yöntemleri (metotları) vardır: `metin.yontem()` biçiminde çağrılır. Kullanıcının yazdığını temizlemek, bir cümleyi kelimelere ayırmak, bir sözcüğü değiştirmek bu yöntemlerle yapılır.
## Türkçe büyük ve küçük harf
`buyut()` bütün harfleri büyütür, `kucult()` küçültür. Türkçe kurallara uyar: `i` büyüyünce `İ`, `I` küçülünce `ı` olur.
```kbl
yazdir("istanbul".buyut())
yazdir("ILIK IRMAK".kucult())
yazdir("şişli öğüt".buyut())
```
```cikti
İSTANBUL
ılık ırmak
ŞİŞLİ ÖĞÜT
```
Büyük/küçük harfe aldırmadan karşılaştırmak için iki tarafı da küçültürsün.
```kbl
girilen = "İZMİR"
yazdir(girilen.kucult() == "izmir")
```
```cikti
doğru
```
## Boşlukları temizlemek: kirp
`kirp()` baştaki ve sondaki boşlukları atar. Kullanıcı girdisinde çok işe yarar.
```kbl
ham = " Merhaba Dünya "
yazdir("[" + ham + "]")
yazdir("[" + ham.kirp() + "]")
```
```cikti
[ Merhaba Dünya ]
[Merhaba Dünya]
```
## Aramak
| Yöntem | Sorusu | Sonuç |
|---|---|---|
| `icerir(x)` | x geçiyor mu? | `dogru`/`yanlis` |
| `ile_baslar(x)` | x ile mi başlıyor? | `dogru`/`yanlis` |
| `ile_biter(x)` | x ile mi bitiyor? | `dogru`/`yanlis` |
| `bul(x)` | x nerede başlıyor? | indeks, yoksa `-1` |
```kbl
cumle = "Ankara Türkiye'nin başkentidir"
yazdir(cumle.icerir("başkent"))
yazdir(cumle.ile_baslar("Ankara"))
yazdir(cumle.ile_biter("dir"))
yazdir(cumle.bul("Türkiye"))
yazdir(cumle.bul("İzmir"))
```
```cikti
doğru
doğru
doğru
7
-1
```
## Değiştirmek: degistir
`degistir(eski, yeni)` metindeki her `eski`yi `yeni` ile değiştirir. Asıl metin değişmez, yeni bir metin döner.
```kbl
duyuru = "Toplantı salı günü, salı saat 10'da."
yeni = duyuru.degistir("salı", "çarşamba")
yazdir(yeni)
```
```cikti
Toplantı çarşamba günü, çarşamba saat 10'da.
```
## Parça almak
`bastan(n)` ilk n karakteri, `sondan(n)` son n karakteri, `dilim(baslangic, adet)` belli bir yerden başlayan parçayı verir.
```kbl
kelime = "Karadeniz"
yazdir(kelime.bastan(4))
yazdir(kelime.sondan(5))
yazdir(kelime.dilim(2, 3))
```
```cikti
Kara
deniz
rad
```
## Bölmek ve birleştirmek
`bol(ayrac)` metni parçalara ayırıp bir liste verir. `birlestir(ayrac)` ise bir metin listesini tek metne çevirir.
```kbl
satir = "Ayşe;Kaya;Eskişehir"
alanlar = satir.bol(";")
yazdir(alanlar)
yazdir(alanlar[2])
yazdir(alanlar.birlestir(" | "))
```
```cikti
[Ayşe, Kaya, Eskişehir]
Eskişehir
Ayşe | Kaya | Eskişehir
```
## Diğer yararlı yöntemler
```kbl
yazdir("=".tekrarla(20))
yazdir("".bos_mu())
yazdir("abc".bos_mu())
```
```cikti
====================
doğru
yanlış
```
> **Dikkat:** Yöntem adlarına dikkat: büyütme `buyut()`, küçültme `kucult()`, uzunluk `uzunluk()`'tür. `buyuk()`, `kucuk()` diye yöntem yoktur; derleyici "böyle bir metot bulunamadı" der.
## Yöntemleri zincirlemek
Her yöntem yeni bir metin döndürdüğü için arka arkaya yazabilirsin.
```kbl
girdi = " ankara "
yazdir(girdi.kirp().buyut())
```
```cikti
ANKARA
```
## Alıştırma
```alistirma
`eposta` değişkenindeki boşlukları temizle, harflerini küçült ve sonucu yazdır. Ardından temizlenmiş adresin `@` içerip içermediğini yazdır.
%%%
eposta = " [email protected] "
# buraya yaz
%%%
eposta = " [email protected] "
temiz = eposta.kirp().kucult()
yazdir(temiz)
yazdir(temiz.icerir("@"))
%%%
[email protected]
doğru
```
```alistirma
`liste` metnindeki ürünler virgülle ayrılmış. Metni böl, ürün sayısını yazdır, sonra ürünleri ` - ` ile birleştirip yazdır.
%%%
liste = "ekmek,süt,peynir,zeytin"
# buraya yaz
%%%
liste = "ekmek,süt,peynir,zeytin"
urunler = liste.bol(",")
yazdir(urunler.uzunluk())
yazdir(urunler.birlestir(" - "))
%%%
4
ekmek - süt - peynir - zeytin
```