Open In App

std::string::find_last_not_of in C++

It searches the string for the first character, from the end of the string, that does not match any of the characters specified in its arguments. 
Return value : Index of first unmatched character when successful or string::npos if no such character found. 
Syntax 1: Search for the last character that is not an element of the string str.
 

size_type string::find_last_not_of (const string& str) const
str : Another string with the set of characters
to be used in the search.

 






// CPP code for size_type string:: find_last_not_of (char c) const
 
#include <iostream>
using namespace std;
 
// Function to demonstrate find_last_not_of
void find_last_not_ofDemo(string str)
{
    // Finds last character in str which
    // is not equal to character 'G'
    string::size_type ch = str.find_last_not_of('G');
    cout << "First unmatched character : ";
    cout << str[ch];
}
 
// Driver code
int main()
{
    string str("GeeksforGeeks");
 
    cout << "Original String : " << str << endl;
    find_last_not_ofDemo(str);
 
    return 0;
}

Output: 
 

Original String : Hello World!
String to be looked in : GeeksforGeeks
First unmatched character : !

Syntax 2: Search for the last character from index idx that is not an element of the string str. 
 



size_type string::find_last_not_of (const string& str, size_type idx) const
str : Another string with the set of characters
to be used in the search.
idx : is the index number from where we have to
start finding first unmatched character.

 




// CPP code for size_type string::find_last_not_of
// (char c, size_type idx) const
 
#include <iostream>
using namespace std;
 
// Function to demonstrate find_last_not_of
void find_last_not_ofDemo(string str)
{
    // Finds last character in str from 6th index which
    // is not equal to character 'G'
    string::size_type ch = str.find_last_not_of('G', 6);
    cout << "First unmatched character : ";
    cout << str[ch];
}
 
// Driver code
int main()
{
    string str("GeeksforGeeks");
 
    cout << "Original String : " << str << endl;
    find_last_not_ofDemo(str);
 
    return 0;
}

Output: 
 

Original String : geeKsforgeeks
String to be looked in : GeeksforGeeks
First unmatched character : K

Syntax 3: Searches for the last character that is or is not also an element of the C-string cstr. 
 

size_type string::find_last_not_of (const char* cstr) const
cstr : Another C-string with the set of characters
to be used in the search.

Note that cstr may not be a null pointer (NULL).
 




// CPP code for size_type string::find_last_not_of
// (const char* chars, size_type idx, size_type chars_len) const
 
#include <iostream>
using namespace std;
 
// Function to demonstrate find_first_not_of
void find_last_not_ofDemo(string str)
{
    // Finds last character in str from 4th index which
    // is not equal to any of the first 3 characters from "svmnist"
    string::size_type ch = str.find_last_not_of("svmnist", 4, 3);
    cout << "First unmatched character : ";
    cout << str[ch];
}
 
// Driver code
int main()
{
    string str("GeeksforGeeks");
 
    cout << "Original String : " << str << endl;
    find_last_not_ofDemo(str);
 
    return 0;
}

Output: 
 

Original String : GeeksforGeeks
First unmatched character : G

Syntax 4: Search for the last character from index idx that is not an element of the C-string cstr 
 

size_type string::find_last_not_of (const string& str, size_type idx) const
cstr : Another C-string with the set of characters
to be used in the search.
idx : is the index number from where we have to
start finding first unmatched character.

Note that cstr may not be a null pointer (NULL). 
 





Output: 
 

Original String : GeeksforGeeks
First unmatched character : f

Syntax 5: Finds last character in str which is not equal to char c. 
 

size_type string::find_last_not_of (const char* cstr) const
c: Character c with which contents of str are required to be compared.

 




// CPP code for size_type string:: find_last_not_of (char c) const
 
#include <iostream>
using namespace std;
 
// Function to demonstrate find_last_not_of
void find_last_not_ofDemo(string str)
{
    // Finds last character in str which
    // is not equal to character 'G'
    string::size_type ch = str.find_last_not_of('G');
    cout << "First unmatched character : ";
    cout << str[ch];
}
 
// Driver code
int main()
{
    string str("GeeksforGeeks");
 
    cout << "Original String : " << str << endl;
    find_last_not_ofDemo(str);
 
    return 0;
}

Output: 
 

Original String : GeeksforGeeks
First unmatched character : s

Syntax 6: Finds last character in str from index idx which is not equal to char c. 
 

size_type string::find_last_not_of (const char* cstr, size_type idx) const
c: Character c with which contents of str are required to be compared.
idx : index from where search of the first
unmatched character is to be started

 




// CPP code for size_type string::find_last_not_of
// (char c, size_type idx) const
 
#include <iostream>
using namespace std;
 
// Function to demonstrate find_last_not_of
void find_last_not_ofDemo(string str)
{
    // Finds last character in str from 6th index which
    // is not equal to character 'G'
    string::size_type ch = str.find_last_not_of('G', 6);
    cout << "First unmatched character : ";
    cout << str[ch];
}
 
// Driver code
int main()
{
    string str("GeeksforGeeks");
 
    cout << "Original String : " << str << endl;
    find_last_not_ofDemo(str);
 
    return 0;
}

Output: 
 

Original String : GeeksforGeeks
First unmatched character : o

Syntax 7: Search for the last character that is also not an element of the chars_len characters of the character array chars, starting at index idx. 
 

size_type string::find_last_not_of (const char* chars, size_type idx, size_type
chars_len) const
*chars : is the character array with which 
searching of first unmatched is to be performed.
idx : index number in string
chars_len : is the character length in 
*chars to be picked for searching purpose

 




// CPP code for size_type string::find_last_not_of
// (const char* chars, size_type idx, size_type chars_len) const
 
#include <iostream>
using namespace std;
 
// Function to demonstrate find_first_not_of
void find_last_not_ofDemo(string str)
{
    // Finds last character in str from 4th index which
    // is not equal to any of the first 3 characters from "svmnist"
    string::size_type ch = str.find_last_not_of("svmnist", 4, 3);
    cout << "First unmatched character : ";
    cout << str[ch];
}
 
// Driver code
int main()
{
    string str("GeeksforGeeks");
 
    cout << "Original String : " << str << endl;
    find_last_not_ofDemo(str);
 
    return 0;
}

Output: 
 

Original String : GeeksforGeeks
First unmatched character : k

 


Article Tags :
C++