std::string::find
Megjelenés
Főnév
std::string::find (tsz. std::string::finds)
- (informatika) A
std::string::findfüggvény lehetővé teszi, hogy egy adott szöveget vagy karaktert keressünk egystd::stringobjektumban. Ez akkor hasznos, ha meg akarjuk tudni, hogy egy bizonyos részstring vagy karakter létezik-e egy adott stringben, és ha igen, akkor hol található.
Szintaxis:
size_t find (const std::string& keresett, size_t pos = 0) const;
size_t find (const char* keresett, size_t pos = 0) const;
size_t find (char keresett, size_t pos = 0) const;
keresett– A keresett részstring vagy karakter.pos– A keresés kezdőpozíciója (opcionális, alapértelmezés: 0).- Visszatérési érték: A megtalált elem első előfordulásának pozíciója a stringben. Ha nem található meg, akkor
std::string::nposértéket ad vissza.
Példa használatra:
1. Egyszerű keresés egy részstringre
#include <iostream>
#include <string>
int main() {
std::string szoveg = "Helló, világ!";
size_t poz = szoveg.find("világ"); // Megkeresi a "világ" szót
if (poz != std::string::npos) {
std::cout << "\"világ\" megtalálható a(z) " << poz << ". pozíción." << std::endl;
} else {
std::cout << "\"világ\" nem található meg." << std::endl;
}
return 0;
}
Kimenet:
"világ" megtalálható a(z) 7. pozíción.
2. Keresés egy karakterre
Ha egyetlen karaktert keresünk, a függvény ugyanúgy működik.
std::string szoveg = "C++ programozás";
size_t poz = szoveg.find('p'); // Megkeresi az első 'p' karaktert
if (poz != std::string::npos) {
std::cout << "A 'p' karakter megtalálható a(z) " << poz << ". helyen." << std::endl;
}
Kimenet:
A 'p' karakter megtalálható a(z) 4. helyen.
3. Keresés adott pozíciótól
Ha nem az elejétől szeretnénk keresni, megadhatunk egy kezdőpozíciót.
std::string szoveg = "alma alma körte";
size_t poz = szoveg.find("alma", 2); // Keresés a 2. karaktertől
std::cout << "Második \"alma\" pozíciója: " << poz << std::endl;
Kimenet:
Második "alma" pozíciója: 5
4. Ha a keresett szöveg nincs benne
Ha a keresett részstring vagy karakter nem található meg, a visszatérési érték std::string::npos lesz.
std::string szoveg = "C++ programozás";
size_t poz = szoveg.find("Python"); // Nem található meg
if (poz == std::string::npos) {
std::cout << "\"Python\" nem található meg a szövegben." << std::endl;
}
Kimenet:
"Python" nem található meg a szövegben.
Mire figyeljünk?
- Érzékeny a kis- és nagybetűkre – Ha
"C++"-t keresel"c++"szövegben, nem találja meg. - Ha
nposaz eredmény, akkor a keresett szöveg nincs benne. Ezért mindig érdemes ellenőrizni. - Indexelés 0-tól kezdődik – Az első karakter pozíciója mindig
0.
Összegzés
A std::string::find egy hasznos függvény, amely lehetővé teszi a részstringek és karakterek keresését std::string objektumokon belül. Könnyen használható karakterláncok keresésére és szövegfeldolgozási feladatokra.
👉 Használati példák: - Fájlnevek vagy URL-ek keresése és szűrése - Szöveg formázása és feldolgozása - Felhasználói beviteli adatok ellenőrzése
- std::string::find - Szótár.net (en-hu)
- std::string::find - Sztaki (en-hu)
- std::string::find - Merriam–Webster
- std::string::find - Cambridge
- std::string::find - WordNet
- std::string::find - Яндекс (en-ru)
- std::string::find - Google (en-hu)
- std::string::find - Wikidata
- std::string::find - Wikipédia (angol)