设为首页 加入收藏

TOP

8.11.5 搜索字符串(2)
2013-10-07 16:09:30 来源: 作者: 【 】 浏览:75
Tags:8.11.5 搜索 字符串

8.11.5  搜索字符串(2)

当然,"Had"与"had"不匹配,因此正确结果为10。

find_first_of()和find_last_of()成员函数在string对象中搜索给定集合中的任何字符。例如,可能在字符串中搜索空格或标点符号(它们可以用来将一个字符串分解为单个单词)。这两个函数都有几个版本,如表8-4所示。表中的所有函数都定义为const,并返回size_t类型的值。

表  8-4
 

   
   
find_first_of(
char ch,
size_t offset=0)
string对象中搜索从offset索引位置开始第一次
出现的字符ch,并返回发现字符的索引位置值,
类型为size_t。如果省略第二个实参,offset的默认值就为0
find_first_of(
const char* pstr,
size_t offset=0)
string对象中搜索从offset索引位置开始第一次出
现的以空字符结尾的字符串pstr中的任何字符,并返
回发现字符的索引位置值,类型为size_t。如果省略
第二个实参,offset的默认值就为0
find_first_of(
const char* pstr,
size_t offset,
size_t count)
string对象中搜索从offset索引位置开始第一次出
现的以空字符结尾的字符串pstr中的前count个字符
中的任何字符,并返回发现字符的索引位置值,类型为size_t
find_first_of(
const string& str,
size_t offset=0)
string对象中搜索从offset索引位置开始第一次出现的
字符串str中的任何字符,并返回发现字符的索引位置值,
类型为size_t。如果省略第二个实参,offset的默认值就为0
find_last_of(
char ch,
size_t offset=npos)
string对象中向后搜索从offset索引位置开始最后一次
出现的字符ch,并返回发现该字符的索引位置值,类型
size_t。如果省略第二个实参,offset的默认值就为字
符串的末尾字符npos
find_last_of(
const char* pstr,
size_t offset=npos)
string对象中向后搜索从offset索引位置开始最后一次
出现的以空字符结尾的字符串pstr中的任何字符,并返回
发现该字符的索引位置值,类型为size_t。如果省略第二
个实参,offset的默认值就为字符串的末尾字符npos
find_last_of(
const char* pstr,
size_t offset,
size_t count)
string对象中向后搜索从offset索引位置开始最后一次
出现的以空字符结尾的字符串pstr中的前count个字符,并
返回发现该字符的索引位置值,类型为size_t
find_last_of(
const string& str,
size_t offset=npos)
string对象中向后搜索从offset索引位置开始最后一
次出现的字符串str中的任何字符,并返回发现该字符
的索引位置值,类型为size_t。如果省略第二个实参,
offset的默认值就为字符串的末尾字符npos

对于find_first_of()和find_last_of()函数的所有版本,如果没有发现匹配的字符,就会返回string::npos。

使用与上一个代码片段中相同的字符串,可以看到find_last_of()函数对字符串"had"所执行的搜索。
 

  1. size_t count(0);  
  2. size_t offset(string::npos);  
  3. while(true)  
  4. {  
  5. offset = str.find_last_of(substr, offset);  
  6. if(string::npos == offset)  
  7. break;  
  8. --offset;  
  9. ++count;  
  10. }  
  11. cout << endl << " Characters from the string \"" << substr 
  12. << "\" were found " << count << " times in the string above."  
  13. << endl;  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇8.11.5 搜索字符串(1) 下一篇8.5.2 应用rvalue引用形参

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·python数据分析岗的 (2025-12-25 10:02:21)
·python做数据分析需 (2025-12-25 10:02:19)
·成为一个优秀的pytho (2025-12-25 10:02:16)
·Java后端面试实习自 (2025-12-25 09:24:21)
·Java LTS版本有哪些 (2025-12-25 09:24:18)