C++:
חיפוש והחלפת טקסט
איך לעשות:
#include <iostream>
#include <string>
#include <algorithm>
void searchAndReplace(std::string& source, const std::string& search, const std::string& replace) {
size_t pos = 0;
while ((pos = source.find(search, pos)) != std::string::npos) {
source.replace(pos, search.length(), replace);
pos += replace.length();
}
}
int main() {
std::string text = "שלום עולם, שלום חברים!";
std::string searchText = "שלום";
std::string replaceText = "להתראות";
searchAndReplace(text, searchText, replaceText);
std::cout << text << std::endl; // להתראות עולם, להתראות חברים!
return 0;
}
עיון מעמיק:
מקורה של פעולת חיפוש והחלפה מתייחס לעיבוד טקסטים שנעשה עוד בימי מעבדי התמלילים האלקטרוניים. ב-C++, אפשר להשתמש בstd::string::find
ו-std::string::replace
לביצוע הפעולות האלה. יש אלטרנטיבות כמו regex (ביטויים רגולריים) המאפשרות חיפוש והחלפה מתוחכמת יותר. לעיתים, נעשית שימוש בספריות חיצוניות לביצוע פעולות אלו באופן יעיל יותר, כמו boost::algorithm::replace_all
.