CodeBlanks Logo Icon CodeBlanks

Özet - İleri dize

Regex, StringBuilder ve trim'i birleştirerek bir CSV ayrıştırıcı yazarsın.

Özet - İleri dize

Bu grupta düzenli ifadeleri, matches ve find ile eşleştirmeyi, replace ile dönüştürmeyi, StringBuilder ile verimli birleştirmeyi ve trim/padStart ile kenar düzenlemeyi öğrendin.

Şimdi hepsini bir araya getiren bir görevle bilgini sınamak gerekiyor: bir metindeki rakamları bul, boşlukları temizle ve sonucu yazdır. Bu, gerçek bir metin işleme akışının küçük bir örneğidir.

Uygulama Metni temizle ve rakamları değiştir

" a1b22 " dizesini önce trim ile kenar boşluklardan arındır. Sonra rakamları Regex("\\d+") ile "#" biçiminde değiştir ve yazdır.

Başlangıç kodu

Main.kt
fun main() {
    val r = Regex("\\d+")
    // Önce trim, sonra replace ile rakamları diyez yap, yazdır
}

Örnek çözüm

Main.kt
val r = Regex("\\d+")
println("  a1b22  ".trim().replace(r, "#"))

Beklenen çıktı

a#b#

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Araç ve amacı eşleştir

Kavram Anlamı
Regex Desen eşleştirme
find İlk eşleşme
replace Değiştirme
trim Kenar temizleme

2 Boşluğu doldur: builder'ı dizeye çevir

Soru
val sb = StringBuilder("hi")
val s = sb.____()
Cevap
val sb = StringBuilder("hi")
val s = sb.toString()

Açıklama: toString builder'ın içeriğini bir dize olarak verir.

3 Birleştirmeyi döngü içinde 500 kez yapacaksın. Hangisi en uygun?

  • StringBuilder Doğru cevap
  • Regex
  • String +
  • trim

Açıklama: her eklemede yeni nesne oluşturmaz.

Başlangıç bölümündeki tüm dersler