Menu
CoddyTech

Membuat Potongan String

Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 55 dari 66.

Sekarang setelah kamu memahami perbedaan antara String dan &str, mari pelajari cara membuat string slice dari string yang sudah ada. Ada dua cara utama untuk membuat &str dari String.

Cara paling sederhana adalah menggunakan operator referensi & dengan String milikmu. Ini membuat slice yang merujuk ke seluruh string:

let my_string = String::from("Hello World");
let slice: &str = &my_string; // Ini membuat slice dari seluruh string

Kamu juga bisa membuat slice dari bagian tertentu string menggunakan sintaks rentang. Formatnya adalah &string[start..end], dengan start sebagai indeks awal dan end satu posisi setelah karakter terakhir yang ingin kamu sertakan:

let my_string = String::from("Hello World");
let first_word = &my_string[0..5]; // Ini menghasilkan "Hello" untuk kita
let second_word = &my_string[6..11]; // Ini menghasilkan "World" untuk kita

Indeks yang digunakan dalam sintaks range bertipe usize, yaitu tipe bilangan bulat tanpa tanda milik Rust untuk merepresentasikan ukuran dan indeks. Tipe ini standar digunakan setiap kali kamu perlu mengindeks koleksi atau menentukan panjang. Saat mengurai nilai indeks dari input, kamu akan menggunakan .parse::<usize>() untuk mengonversinya ke tipe yang benar.

challenge icon

Tantangan

Mudah

Kamu akan menerima dua input. Input pertama berupa kalimat lengkap, dan input kedua berupa dua angka yang dipisahkan oleh spasi, yang menunjukkan indeks awal dan akhir untuk membuat slice. Buat String dari input pertama, lalu buat string slice menggunakan rentang yang ditentukan oleh kedua indeks tersebut. Cetak string asli pada baris pertama dan slice yang diambil pada baris kedua.

Persyaratan:

  • Baca input pertama (kalimat lengkap) dan hapus spasi di awal dan akhir
  • Buat String dari input ini
  • Baca input kedua (dua angka yang dipisahkan oleh spasi) dan hapus spasi di awal dan akhir
  • Pisahkan input kedua berdasarkan spasi untuk mendapatkan indeks awal dan akhir
  • Parse kedua indeks menjadi usize
  • Buat string slice menggunakan sintaks rentang &string[start..end]
  • Cetak string asli
  • Cetak slice yang diambil

Input:

  • Baris pertama: Sebuah kalimat (misalnya, Hello World)
  • Baris kedua: Dua angka yang dipisahkan oleh spasi (misalnya, 0 5)

Output:

  • Baris pertama: String asli
  • Baris kedua: Slice yang diambil

Coba sendiri

use std::io;

fn main() {
    // Baca input pertama (kalimat lengkap)
    let mut sentence = String::new();
    io::stdin().read_line(&mut sentence).expect("Failed to read line");
    let sentence = sentence.trim();
    
    // Baca input kedua (dua angka yang dipisahkan oleh spasi)
    let mut indices = String::new();
    io::stdin().read_line(&mut indices).expect("Failed to read line");
    let indices = indices.trim();
    
    // TODO: Tulis kodemu di bawah ini
    // Uraikan indeksnya dan buat potongan string
    
    
    // Cetak string asli dan potongannya
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Rust online