Searching Within Strings
Method find()
Sometimes, you may need to search for specific text within a string
. This can be done using the .find()
or .rfind()
methods. Let’s begin with the .find()
method.
find.h
1str.find("text to find")
It returns the index of the first character of the first match.
main.cpp
1234567#include <iostream> int main() { std::string str = "codecodefinity"; std::cout << str.find("code") << std::endl; // (code)codefinity }
You can also specify the position of the first character in the string to be considered in the search. It can be done using the pos
argument. Any characters before the pos
index are ignored in a search.
Here is an example of finding the first "code"
starting from a 3-rd character.
main.cpp
1234567#include <iostream> int main() { std::string str = "codecodefinity"; std::cout << str.find("code", 3) << std::endl; // __de(code)finity }
Method rfind()
You can also locate the last occurrence of some text using the .rfind()
method.
rfind.h
1str.rfind("text to find")
While .find()
retrieves the first occurrence of text, .rfind()
finds the last occurrence and stands for reverse find.
main.cpp
12345678#include <iostream> int main() { std::string str = "codecodefinity"; std::cout << str.find("code") << std::endl; std::cout << str.rfind("code") << std::endl; }
Note
If no match is found, both
.find()
and.rfind()
return a special value,string::npos
. This value represents no position and indicates that the search was unsuccessful.
main.cpp
12345678#include <iostream> int main() { std::string str = "codecodefinity"; std::cout << str.rfind("abc") << std::endl; std::cout << std::string::npos << std::endl; }
Swipe to start coding
Create a program that prints "Found code"
if the string contains "code"
, and "No code"
if it doesn’t.
- Write a condition to check for no match using
.find()
or.rfind()
. Refer to the hint if needed. - Replace the
"___"
placeholders with"Found code"
or"No code"
, based on yourif
statement.
Lösning
solution.cpp
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 4.35
Searching Within Strings
Svep för att visa menyn
Method find()
Sometimes, you may need to search for specific text within a string
. This can be done using the .find()
or .rfind()
methods. Let’s begin with the .find()
method.
find.h
1str.find("text to find")
It returns the index of the first character of the first match.
main.cpp
1234567#include <iostream> int main() { std::string str = "codecodefinity"; std::cout << str.find("code") << std::endl; // (code)codefinity }
You can also specify the position of the first character in the string to be considered in the search. It can be done using the pos
argument. Any characters before the pos
index are ignored in a search.
Here is an example of finding the first "code"
starting from a 3-rd character.
main.cpp
1234567#include <iostream> int main() { std::string str = "codecodefinity"; std::cout << str.find("code", 3) << std::endl; // __de(code)finity }
Method rfind()
You can also locate the last occurrence of some text using the .rfind()
method.
rfind.h
1str.rfind("text to find")
While .find()
retrieves the first occurrence of text, .rfind()
finds the last occurrence and stands for reverse find.
main.cpp
12345678#include <iostream> int main() { std::string str = "codecodefinity"; std::cout << str.find("code") << std::endl; std::cout << str.rfind("code") << std::endl; }
Note
If no match is found, both
.find()
and.rfind()
return a special value,string::npos
. This value represents no position and indicates that the search was unsuccessful.
main.cpp
12345678#include <iostream> int main() { std::string str = "codecodefinity"; std::cout << str.rfind("abc") << std::endl; std::cout << std::string::npos << std::endl; }
Swipe to start coding
Create a program that prints "Found code"
if the string contains "code"
, and "No code"
if it doesn’t.
- Write a condition to check for no match using
.find()
or.rfind()
. Refer to the hint if needed. - Replace the
"___"
placeholders with"Found code"
or"No code"
, based on yourif
statement.
Lösning
solution.cpp
Tack för dina kommentarer!
Awesome!
Completion rate improved to 4.35single