Tìm kiếm và thay thế văn bản

C++:
Tìm kiếm và thay thế văn bản

Cách thực hiện:

C++ cung cấp nhiều cách để tìm kiếm và thay thế văn bản. Dưới đây là một ví dụ sử dụng std::string::findstd::string::replace.

#include <iostream>
#include <string>

int main() {
    std::string myText = "The quick brown fox jumps over the lazy dog.";
    std::string wordToSearch = "lazy";
    std::string replacement = "energetic";

    size_t pos = myText.find(wordToSearch);
    
    if (pos != std::string::npos) {
        myText.replace(pos, wordToSearch.length(), replacement);
    }

    std::cout << myText << std::endl; // Output: The quick brown fox jumps over the energetic dog.
    return 0;
}

Sâu hơn nữa

Các hàm findreplace đã là một phần của lớp std::string của C++ từ lâu, làm cho chúng trở thành một phương tiện cơ bản nhưng mạnh mẽ để thao tác văn bản. Trước std::string, các lập trình viên C sử dụng mảng ký tự và các hàm như strstrstrcpy từ Thư viện chuẩn C cho các nhiệm vụ tương tự, điều này dễ gây ra lỗi hơn và yêu cầu quản lý bộ nhớ thủ công.

Đối với các phương án thay thế, các thành phần khác của thư viện chuẩn như std::regex cung cấp khả năng thao tác văn bản dựa trên mẫu cho các kịch bản tìm kiếm và thay thế phức tạp. Thư viện của bên thứ ba như Boost thì cung cấp còn nhiều tùy chọn xử lý văn bản tinh vi hơn.

Bên dưới bề mặt, việc tìm kiếm và thay thế bao gồm các thuật toán lặp qua một chuỗi để tìm kiếm các chuỗi ký tự phù hợp và sau đó sửa đổi nội dung của chuỗi một cách phù hợp. Hiệu suất của các thao tác này có thể thay đổi tùy theo cách thực hiện và độ phức tạp của mẫu tìm kiếm.

Xem thêm