Mencari dan Mengganti
Termasuk bagian Logika & Alur dalam perjalanan Kotlin di Coddy. Pelajaran 49 dari 63.
Regex.findAll mengembalikan kecocokan secara berurutan. Setiap kecocokan memiliki string value. Kamu dapat melakukan perulangan pada kecocokan ini atau mengubahnya dengan map dan mengumpulkannya dengan toList. Regex.replace mengganti setiap kecocokan dengan teks pengganti yang ditentukan.
Di dalam main:
val digits = Regex("[0-9]+")
println(digits.replace("Box12Shelf7", "#"))Setiap kelompok digit yang berurutan merupakan satu kecocokan, jadi ada dua penggantian.
findAll mengunjungi kecocokan secara berurutan; Regex.replace mengganti semua kecocokan secara default.
Tantangan
SedangLengkapi extractNumbers dengan parameter text: String. Kembalikan setiap kelompok digit ASCII berurutan sebagai string, dengan urutan dari kiri ke kanan. Pertahankan nol di awal. Kembalikan list kosong jika tidak ada digit.
Kecuali batas yang lebih ketat disebutkan di atas, koleksi berisi paling banyak 100 elemen pada setiap tingkat, dan argumen integer serta nilai integer dalam koleksi berada di antara -1000 dan 1000. Teks yang diberikan untuk parsing dapat mencakup representasi yang tidak valid atau di luar rentang seperti yang dijelaskan.
Kembalikan nilai bertipe List<String>. Pertahankan kode input/output yang diberikan. Kode itu membaca argumen skalar satu per baris; list dimulai dengan jumlah elemennya, lalu elemen-elemennya, dan map dimulai dengan jumlah entrinya, lalu setiap key dan value. List bertingkat mengulangi format jumlah-elemen untuk setiap baris. main yang diberikan mencetak nilai kembalian diikuti satu newline. List menggunakan format standar Kotlin dengan tanda kurung siku; jangan cetak label tambahan.
Coba sendiri
fun extractNumbers(text: String): List<String> {
// Tulis solusimu di sini.
return emptyList()
}
fun main() {
val text = readLine().orEmpty()
println(extractNumbers(text))
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika & Alur
4Koleksi Bersarang
List Berisi ListMenelusuri BarisRingkasan BarisMeratakan List BertingkatRangkuman, Baris Tempat Duduk7Alur Pemrosesan Koleksi
Transformasi dengan MapMemfilter NilaiMenguji Aturan KoleksiMengakumulasi dengan FoldRangkuman: Total yang Disetujui10Pemrosesan Teks
Memisahkan dan MenggabungkanMenyusun Teks secara EfisienMencocokkan Pola TeksMencari dan MenggantiRingkasan: Kode Lebih Bersih2Map Bagian 2
Menelusuri Entri MapKunci dan NilaiMap FrekuensiMap BersarangRingkasan: Laporan Frekuensi5Proyek: Buku Kontak
Menyimpan KontakMencari KontakLatihan sendiri: Playground Kotlin