删除前面有空格的前2个字符串

时间:2018-10-27 16:17:26

标签: c++

我试图做标题中写的内容只是因为我有问题。 当程序去读取一个字符串以删除前面有空格的字符串时,将删除所有有空格的字符串,直到他到达没有空格的字符串为止。.我尝试过:

string s = "hello my name is SOMETHING";
size_t space_pos = s.rfind(" ") + 1;
cout << s.substr(space_pos) << "\n";

输出:

SOMETHING

我需要的结果是:“名字很重要”。 我尝试使用replace,但是前2个字符串(“ hello”和“ my”)的长度总是不同,例如,从“ hello”到“ hello1”或“ hello2818 +”。

谢谢你,我的英语不好。

1 个答案:

答案 0 :(得分:1)

rfind()查找给定字符串的最后一次出现。在该程序中,您将创建一个子字符串,该子字符串的值仅介于最后一次出现和字符串结尾之间。

string s = "hello my name is SOMETHING";
size_t space_pos = s.find(" ") + 1;
for(int i=0;i<2;i++){
s=s.substr(space_pos+1);
space_pos = s.find(" ");
}
std::cout<<s;

这样做是要删除前三个空格。