חיפוש והחלפת טקסט

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.

ראה גם: