C++ 如何基于C+;中字符串中的特定数量的字符来解析字符串+;?
我知道如何基于分隔符(如逗号)解析字符串。这是否需要将字符串转换为字符数组 我想比较一个6努美布尔的字符串,即111222 还有一个12个字符长的数字字符串,但我只想要前6个字符 检查111222是否出现在字符串111222345678中的基本方法 ……但我只想要前六个 对于第一个C++ 如何基于C+;中字符串中的特定数量的字符来解析字符串+;?,c++,string,string-parsing,C++,String,String Parsing,我知道如何基于分隔符(如逗号)解析字符串。这是否需要将字符串转换为字符数组 我想比较一个6努美布尔的字符串,即111222 还有一个12个字符长的数字字符串,但我只想要前6个字符 检查111222是否出现在字符串111222345678中的基本方法 ……但我只想要前六个 对于第一个n字符比较,您可以使用 chars1[]=“111222345678”; 字符s2[]=“111222”; std::cout使用std::string,您可以 std::string sample = "111222
n
字符比较,您可以使用
chars1[]=“111222345678”;
字符s2[]=“111222”;
std::cout使用std::string,您可以
std::string sample = "111222345678";
if (sample.substr(0, 6) == "111222")
{
... do stuff here if ...
}
当然,也可以将字符串作为std::string
进行匹配,使其更通用:
std::string match = "111222";
if (sample.substr(0, match.length()) == match))
{
...
}
请记住,检查字符串的前几个字符和检查字符串是否包含在另一个字符串中是两个不同的问题。除此之外,你应该能够使用谷歌哦,我的天哪,它从来没有想过只是比较字符串作为一个整体,而不是切断12个数字字符串的最后6个字符。非常感谢。可能没有那么简单,但我会使用类似于if(sample.size()>=match.size()&&std::equal(match.begin(),match.end(),sample.begin())
。
std::string match = "111222";
if (sample.substr(0, match.length()) == match))
{
...
}