Memisahkan dan menggabungkan
Termasuk bagian Logika dan Alur dalam perjalanan Swift di Coddy. Pelajaran 4 dari 56.
Dua alat sehari-hari untuk menangani teks yang dipisahkan pembatas. Keduanya berasal dari Foundation, yang sudah diimpor.
components(separatedBy:) memecah string menjadi array berisi String berdasarkan pemisah apa pun yang kamu berikan:
let csv = "red,green,blue"
let parts = csv.components(separatedBy: ",")
print(parts) // ["red", "green", "blue"]Kebalikannya adalah joined(separator:) pada [String] apa pun:
let words = ["swift", "is", "fun"]
let line = words.joined(separator: " ")
print(line) // "swift is fun"Kamu akan sering menggabungkannya: pisahkan, ubah dengan map, lalu gabungkan kembali. Hasil map pada [String] tetap berupa [String], jadi joined bisa langsung digunakan.
Tantangan
MudahBaca satu baris input: list kata yang dipisahkan dengan koma.
Cetak tiga baris:
- Jumlah kata setelah dipisahkan berdasarkan
, - Kata-kata yang digabungkan kembali dengan
>(spasi, tanda lebih besar dari, spasi), dalam huruf besar - Kata terpanjang dari list (setelah dipisahkan). Jika dua kata sama panjang, gunakan kata yang muncul lebih dulu.
Untuk input red,green,blue, output-nya adalah:
3
RED > GREEN > BLUE
greenCoba sendiri
let line = readLine()!
let words = line.components(separatedBy: ",")
// TODO: cetak jumlah kata, kata-kata dalam huruf kapital yang digabung dengan " > ", dan kata terpanjang pertama
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami string
Jumlah dan indeksHuruf besar, huruf kecil, dan hapus spasiMencari dalam stringMemisahkan dan menggabungkanMengganti substringUlasan: Memeriksa nama pengguna4set
Membuat setGabungan dan IrisanSelisih dan Selisih SimetrisHimpunan Bagian dan Himpunan SupersetRingkasan: Filter Tag7Proyek: Pelacak Kebiasaan
Gambaran Umum ProyekTandai Selesai2Rentang dan Langkah
Rentang Tertutup vs Setengah TerbukaLangkahMetode RentangRentang dalam SwitchRangkuman: Kisi KalenderLatihan sendiri: Playground Swift