如何解决最简单的删除字符串第一部分的方法如果匹配从头开始? 可以使用升压
std::string str_a = "Hello World";
std::string str_b = "Hello ";
如果字符串从头开始匹配,则将其删除或以具有结果的新字符串返回它,这无关紧要。结果应该是“世界”。
使用c++最愚蠢和最简单的方法是什么?一种衬里是优选的。 不必担心性能。首选std
,但也可以选择boost。
解决方法
#include <iostream>
#include <string>
int main()
{
std::string a = "Hello World";
std::string b = "Hello ";
if (a.find(b) == 0)
{
std::cout << "\"" << a.substr(b.length()) << "\"\n";
}
return 0;
}
,
if (str_a.compare(0,str_b.size(),str_b) == 0)
str_a = str_a.substr(str_b.size());
似乎简单而有效。
,可能不是最好的性能,而是一行:
std::string str_c = (str_a.find(str_b) == 0) ? str_a.substr(str_b.size()) : str_a;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。