Open In App

std::string::find_last_not_of in C++

Last Updated : 04 Feb, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

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




// 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




// 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




// 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). 
 

CPP





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




// 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




// 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




// 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

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads