将字符串拆分/拆分/提取为部分

时间:2013-03-25 19:41:31

标签: c++ string

我有一个看似非常简单的问题,但我似乎无法解决这个问题......

我有一个字符串可以调用它"HELLOWORLD",我有一个从我做的其他工作生成的数字,我们说它是4

如何返回第一个("HELL")并维护第二个("OWORLD")?

2 个答案:

答案 0 :(得分:4)

如果您已经有索引要分割,那么最简单的方法是使用带有两个迭代器的字符串构造函数:

std::string original = "HELLOWORLD";

std::size_t index = 4;
std::string::iterator it = original.begin();

std::string part1(it, it + index);
std::string part2(it + index, original.end());

答案 1 :(得分:1)

你有没有尝试过:

#include <string>
...

string thing = "HELLOWORLD";

thing.substr(0, 4);    // => "HELL"

substr方法(来自string库)返回从第一个索引到(但不包括)传递给它的第二个索引的字符串。

<强>更新

我很难理解你想要做什么。如果你想得到字符串的 end (即"OWORLD"),你可以这样做:

thing.substr(4, thing.length())   // => "OWORLD"

从第4个索引(包含)到第N个索引(仅限于)。

相关问题