当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ std::string::find_last_not_of用法及代码示例


它在字符串中搜索与参数中指定的任何字符都不匹配的第一个字符。
返回值:成功时第一个不匹配字符的索引;如果找不到这样的字符,则返回string::npos。
语法1:搜索不是字符串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 find_last_not_of (const string& str) const 
  
#include <iostream> 
using namespace std; 
  
// Function to demonstrate find_last_not_of 
void find_last_not_ofDemo(string str1, string str2) 
{ 
    // Finds last character in str1 which 
    // is not present in str2 
    string::size_type ch = str1.find_last_not_of(str2); 
    cout << "First unmatched character:"; 
    cout << str1[ch]; 
} 
  
// Driver code 
int main() 
{ 
    string str1("Hello World!"); 
    string str2("GeeksforGeeks"); 
  
    cout << "Original String:" << str1 << endl; 
    cout << "String to be looked in:" << str2 << endl; 
    find_last_not_ofDemo(str1, str2); 
  
    return 0; 
}

输出:

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

语法2:从索引idx搜索不是字符串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 string::find_last_not_of 
// (const string& str, size_type idx) const 
  
#include <iostream> 
using namespace std; 
  
// Function to demonstrate find_last_not_of 
void find_last_not_ofDemo(string str1, string str2) 
{ 
    // Finds last character in str1 from index 3 which 
    // is not present in str2 
    string::size_type ch = str1.find_last_not_of(str2, 3); 
    cout << "First unmatched character:"; 
    cout << str1[ch]; 
} 
  
// Driver code 
int main() 
{ 
    string str1("geeKsforgeeks"); 
    string str2("GeeksforGeeks"); 
  
    cout << "Original String:" << str1 << endl; 
    cout << "String to be looked in:" << str2 << endl; 
    find_last_not_ofDemo(str1, str2); 
  
    return 0; 
}

输出:

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

语法3:搜索最后一个字符,该字符还是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.

注意该cstr可能不是空指针(NULL)。

// CPP code for string::find_last_not_of (const char* cstr) 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 present in "geeksforgeeks" 
    string::size_type ch = str.find_last_not_of("geeksforgeeks"); 
    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; 
}

输出:

Original String:GeeksforGeeks
First unmatched character:G

语法4:从索引idx搜索不是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.

注意该cstr可能不是空指针(NULL)。

// CPP code for size_type string::find_last_not_of 
// (const char* cstr, 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 5th index which 
    // is not present in "geeksforgeeks" 
    string::size_type ch = str.find_last_not_of("geeksForgeeks", 5); 
    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; 
}

输出:

Original String:GeeksforGeeks
First unmatched character:f

语法5:查找str中不等于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; 
}

输出:

Original String:GeeksforGeeks
First unmatched character:s

语法6:从索引idx中查找不等于char c的str中的最后一个字符。


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; 
}

输出:

Original String:GeeksforGeeks
First unmatched character:o

语法7:从索引idx开始,搜索也不是字符数组chars的chars_len字符的元素的最后一个字符。

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; 
}

输出:

Original String:GeeksforGeeks
First unmatched character:k


相关用法


注:本文由纯净天空筛选整理自 std::string::find_last_not_of in C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。