C++:从两个符号之间提取字符串
C++ : extracting string from between two symbols
我有字符串String str="我的年龄是我多大?你多大?";
我只想提取字符串"你多大了",并将其放在另一个变量中。
我该怎么做?
您可以使用子字符串方法:http://www.cplusplus.com/reference/string/string/substr/
int first = str.find('?')
String ageStr = str.substr(first, str.find('?', first) - first);
通过这种方式,您可以选择字符串中第一个问号位置和第二个问号位置之间的部分。。。
#include <string>
#include <iostream>
using namespace std;
string GetStringInBetween(string Src,string FirstTag, string Secondag)
{
size_t FirstPos,SecondPos;
string newstr="";
FirstPos = Src.find(FirstTag);
if (FirstPos != string::npos)
{
FirstPos++;
SecondPos = Src.find(Secondag, FirstPos );
if (SecondPos != string::npos)
{
newstr = Src.substr(FirstPos , SecondPos - FirstPos);
}
}
return newstr;
}
int main()
{
string str = "?how old are you?";
string nstr = GetStringInBetween(str, "?", "?");
cout << nstr;
return 0;
}
for(int i=0;i<strlen(str);i++)
{
if(str[i] != '?')
{
cout<<str[i];
}
}
您可以添加您选择的任何符号来代替?
。
相关文章:
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- 两个有符号数字之间的距离
- 为什么 Clang 和 GCC 中两个无符号整数之和的结果类型不同
- 如何安全地比较两个无符号整数计数器?
- 获取两个无符号整数 C++ 乘积的高 32 位的有效方法
- 如何以精度换取速度来评估C++中两个向量的点积符号?(不特定于硬件)
- 当两个共享库定义相同的符号时,实际会发生什么?
- 与两个符号链接.一个在存档文件中定义
- SSE2 内部函数 - 找到两个无符号短向量的最大值
- 加载具有相同符号的两个共享库时是否存在符号冲突
- 如何链接(或绕过)定义相同符号的两个第三方静态库
- 将两个字符安全转换为无符号短字符
- C++模需要在两个*无*符号字节之间进行减法转换才能工作,为什么
- C++:从两个符号之间提取字符串
- 在两个单独的 cpp 文件中定义的内联函数是否可以在链接期间创建重复的符号
- 链接两个具有相同函数签名的强函数符号的结果使用 G++ 以及原因
- 链接来自包含相同符号的不同项目的两个对象文件时发生C++链接器错误
- 在OpenCV中保持两个矩阵中具有最小绝对值的有符号值
- 条件反射为四种情况下的两个数字的符号
- C++:有符号64位整数中两个无符号64位的整数之差