Menu
CoddyTech

Ôn tập: Tìm từ đầu tiên

Thuộc phần Logic và luồng chương trình trong hành trình Rust của Coddy. Bài học 58 trên 66.

challenge icon

Thử thách

Dễ

Bạn sẽ nhận một đầu vào duy nhất chứa một câu gồm nhiều từ được phân tách bằng dấu cách. Hãy tìm và in ra từ đầu tiên trong câu bằng cách cắt lát chuỗi.

Yêu cầu:

  • Đọc câu đầu vào và loại bỏ khoảng trắng ở đầu, cuối
  • Tìm vị trí của dấu cách đầu tiên trong câu
  • Tạo một lát chuỗi từ đầu câu đến trước dấu cách đầu tiên
  • In ra từ đầu tiên

Gợi ý: Bạn có thể dùng phương thức .find() để tìm vị trí ký tự dấu cách đầu tiên. Gọi phương thức như sau: sentence.find(' '), truyền vào một ký tự dấu cách làm đối số. Phương thức này trả về một Option chứa chỉ số nếu tìm thấy dấu cách. Dùng .unwrap_or(sentence.len()) để xử lý trường hợp không có dấu cách (chỉ có một từ), mặc định là độ dài đầy đủ của câu.

Đầu vào:

  • Một câu có một hoặc nhiều từ được phân tách bằng dấu cách (ví dụ: Hello World from Rust)

Đầu ra:

  • Từ đầu tiên trong câu

Tự làm thử

use std::io::{self, BufRead};

fn main() {
    // Đọc đầu vào
    let stdin = io::stdin();
    let sentence = stdin.lock().lines().next().unwrap().unwrap().trim().to_string();
    
    // TODO: Viết code bên dưới
    // Tìm vị trí dấu cách đầu tiên
    // Tạo một lát cắt chuỗi từ đầu đến dấu cách đầu tiên
    // Lưu từ đầu tiên vào một biến
    
    // In ra từ đầu tiên
    // println!("{}", first_word);
}

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Rust online