Mencari dan Menggantikan Teks dalam Rentetan Standard
Dalam pelbagai senario pengaturcaraan, menjadi penting untuk memanipulasi rentetan dengan menggantikan aksara atau subrentetan tertentu. Untuk rentetan standard dalam C , terdapat kaedah yang berkesan untuk melaksanakan operasi cari-dan-ganti.
Menggunakan Fungsi std::replace
Fungsi std::replace menyediakan cara yang mudah untuk menggantikan kejadian subrentetan dalam rentetan. Sintaks std::replace adalah seperti berikut:
std::string& replace(std::size_t pos, std::size_t n, const std::string& str);
Di sini, pos mewakili kedudukan permulaan, n menunjukkan bilangan aksara untuk diganti dan str ialah rentetan gantian.
Contoh:
Pertimbangkan rentetan berikut:
std::string s("One hello, two hellos.");
Untuk menggantikan semua kejadian "hello" dengan "dunia", anda boleh menggunakan kod berikut:
s.replace(s.find("hello"), s.find("hello") + 5, "world"); // Find the position of "hello", replace 5 characters (length of "hello") with "world"
Menggunakan boost::replace_all
Pustaka Boost menyediakan pilihan yang lebih mudah untuk melaksanakan operasi cari-dan-ganti dengan fungsi boost::replace_all. Ia memerlukan rentetan, rentetan untuk mencari dan rentetan untuk menggantikannya.
Contoh:
Untuk menggantikan semua kejadian "foo" dengan "bar" dalam rentetan berikut:
std::string target("Would you like a foo of chocolate. Two foos of chocolate?");
Menggunakan boost::replace_all, anda boleh melakukannya seperti berikut:
#include <boost/algorithm/string.hpp> // Include the Boost library ... boost::replace_all(target, "foo", "bar");
Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Teks dengan Cekap dalam Rentetan dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!