C++中搜索、截取字符串

分享到:
#include <iostream>
#include <string>
using std::cout;
using std::endl;
using std::string;
int main(void){
string str1="hi,test,hello";
string str2="test";
//搜索子串,返回子串第一个字符的索引
cout << str1.find(str2)<<endl;
//如果不存在,返回内置常量string::npos,在一些编译器中通常为4294967295
cout << str1.find('k')<<endl;
//从指定索引开始搜索
cout <<str1.find('h',2)<<endl;
//从指定索引搜索指定字符串的前n个字符
cout <<str1.find("her",1,2)<<endl;
//在指定字符集合中搜索字符,返回其索引
cout <<str1.find_first_of("AaEeIiOoUu")<<endl;
//从指定索引处开始在指定字符集合中搜索字符
cout <<str1.find_first_of("AaEeIiOoUu",2)<<endl;
//从指定索引处开始在指定字符集合中搜索指定长度字符
cout <<str1.find_first_of("AaEeIiOoUu",2,2)<<endl;
//在指定字符集合中逆向搜索字符,返回字符最后索引,同样也具有上面另外两个重载方法
cout <<str1.find_last_of("AaEeIiOoUu")<<endl;
//查找字符串中第一个不在字符集合中的字符
cout <<str1.find_first_not_of("AaEeIiOoUu")<<endl;
//查找字符串中最后一个不在字符集合中的字符
cout <<str1.find_last_not_of("AaEeIiOoUu")<<endl;
//逆向搜索,也具有和find()一样的重载方法
cout <<str1.rfind('l')<<endl;
//截取子串
string str3=str1.substr(3,4);
cout <<str3<<endl;
return 0;
}  

昵    称:
验证码:

相关文档:

  • Simple MySQL-C ORM - 简化C语言访问MySQL
    当你需要在纯C语言的应用程序中访问 MySQL 表中的数据时,是非常繁琐的事情,而该框架可以帮你大量的简化编码的工作,该框架采用 Pyt...
  • java嵌入c,c++程序指南
    本文为在 32 位 Windows 平台上实现 Java 本地方法提供了实用的 示例、步骤和准则。本文中的示例使用 Sun Microsystems 公司创建的 Java Developmen...
  • 免费的C/C++的线程库
    免费的C/C++的线程库...
  • C语言的伪随机数发生器 gjrand
    gjrand 是一个C语言的伪随机数生成器。伪随机数的意思是在这个随机数并不保证是真正的随机,只适合一些对随机要求不是很高的场合,...
  • 开源GUI框架库:Nana C++ Library
    Nana C++ Library,一个纯粹的C++库,让你能完全发挥你的C++知识/技巧/手法来编写GUI,这是用C++开发GUI的一个重大的进步。类似标准库和boost...
  • C++的Twitter开发包 twitlib
    twitlib 是一个 C++ 的 Twitter 客户端开发包,现已改名为 QTwitLib。...
  • CC++调试技巧
    在调试代码时,有时会遇到报错的的函数是没问题,而是调用它的函数传入的参数是异常的,而又没法通过代码准确定位到具体调用的位...
  • C++系统调用库 CSCall++
    CSCall++ 是对常用的一些系统调用进行封装的 C++ 库,主要包括:线程、文件、FIFOs、串行IO、socket通讯和目录处理等。...
  • C++ 字符串处理工具包
    C++ String Toolkit Library 是 C++ 模板化的字符串切割工具包,类似 Java 的 StringTokenizer 类。...
  • 浅谈C++的类型转换
    C++是强类型语言,也就是说,变量在使用前就要声明数据类型,不同数据类型分配的内存空间大小也是不同,在转换类型时要注意这个问...
  • C++版的 MapReduce​ 框架:MR4C
    MR4C 是 Google 开发的 C++ 的 MapReduce 框架,你可以在 Hadoop 架构中执行本地代码。...
  • Adobe FlasCC的开源版本:CrossBridge
    CrossBridge是Adobe FlasCC的开源版本,它提供了一个完整的C/C++开发环境,目的是把C/C++程序编译成Flash程序,运行于Flash Runtime之上。CrossBridge...
  • Platinum UPnP SDK - 跨平台的C++库
    Platinum UPnP SDK 是一个跨平台的C++库,利用该库,你可以很容易就构建出DLNA/UPnP控制点(DLNA/UPnP Control Point)和DLNA/UPnP设备(DLNA/UPnP Device)....
  • 如何使用Valgrind memcheck工具进行C/C++的内存泄漏检测
    系统编程中一个重要的方面就是有效地处理与内存相关的问题。你的工作越接近系统,你就需要面对越多的内存问题。有时这些问题非常...
  • 4个函数实现的C编译器:C4
    4个函数实现的c编译器,大约500行。基本上已经比较完备了,可以自己编译自己。...
  • C语言的SPDY开发包 spdylay
    spdylay 是 C 语言实现对 SPDY v2/3 协议支持的库...
  • Trie树的C++实现
    Trie,又称单词查找树、前缀树,是一种哈希树的变种。应用于字符串的统计与排序,经常被搜索引擎系统用于文本词频统计。...
  • C/C++的URL解析库:oneurl
    oneurl是一个C/C++语言开发的url解析以及标准化开源库,基于googleurl内核函数...
  • C++11 中的双重检查锁定模式
    双重检查锁定模式(DCLP)在无锁编程方面是有点儿臭名昭著案例学术研究的味道。直到2004年,使用java开发并没有安全的方式来实现它。在c...
  • C语言内存泄漏检测工具 MemLeak
    MemLeak 是一个C语言内存泄漏检测工具。...