Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menggantikan Teks dengan Cekap dalam Rentetan dalam C?
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!