C++ 在字符串C+中查找字符位置+;
如何找到字符串中字符的位置?例如,如果我输入“abc*ab”,我想用“abc”创建一个新字符串。你能帮我解决我的问题吗?C++ 在字符串C+中查找字符位置+;,c++,string,C++,String,如何找到字符串中字符的位置?例如,如果我输入“abc*ab”,我想用“abc”创建一个新字符串。你能帮我解决我的问题吗?std::find返回一个迭代器到它找到的第一个元素,该元素与你要查找的元素相比较(如果第二个参数没有找到任何东西,则返回结束迭代器)。你可以使用迭代器构造一个std::string #include <iostream> #include <string> #include <algorithm> int main() { std
std::find
返回一个迭代器到它找到的第一个元素,该元素与你要查找的元素相比较(如果第二个参数没有找到任何东西,则返回结束迭代器)。你可以使用迭代器构造一个std::string
#include <iostream>
#include <string>
#include <algorithm>
int main()
{
std::string s = "abc*ab";
std::string s2(s.begin(), std::find(s.begin(), s.end(), '*'));
std::cout << s2;
return 0;
}
#包括
#包括
#包括
int main()
{
std::string s=“abc*ab”;
std::string s2(s.begin(),std::find(s.begin(),s.end(),'*');
std::coutC++标准字符串提供了一种find
方法:
s.find(c)
如果字符根本不存在,则将字符c
的第一个实例的位置返回到字符串s
或std::string::npos
。您还可以传递搜索的起始索引;即
s.find(c, x0)
将返回字符c
的第一个索引,但从位置开始搜索x0
如果使用std::string
类型,则使用std::find
算法很容易找到字符的位置,如下所示:
#include <string>
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{
string first_string = "abc*ab";
string truncated_string = string( first_string.cbegin(), find( first_string.cbegin(), first_string.cend(), '*' ) );
cout << truncated_string << endl;
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
第一个字符串\u string=“abc*ab”;
string truncated_string=string(first_string.cbegin(),find(first_string.cbegin(),first_string.cend(),'*');
库特