gpt4 book ai didi

c++ - 如何从 C++ 中的字符串返回子字符串?

转载 作者:行者123 更新时间:2023-11-27 23:40:15 24 4
gpt4 key购买 nike

我需要在 C++ 中实现一个类似于 python 的切片方法。如果他们问我:

  Slice("Hello World!",1)     output = "ello World!"
Slice("Hello World!",0,5) output = "Hello"
Slice("Hello World!",0,-1) output = "Hello World"
Slice("Hello World!",3,-2) output = "lo Worl"
Slice("Hello World!",-5,-2) output = "orl"
Slice("Hello World!",14) output = " "

如果我的约束是这样,我将如何实现这种类似切片的方法

到目前为止,我已经尝试创建一个 forloop。我试图制作一个空字符串并尝试附加所需的索引,但我不明白如何。

最佳答案

使用 std::string::substr()方法,例如:

std::string Slice(const std::string &str, ssize_t start, ssize_t end)
{
return str.substr(start, end-start);
}

如果你不能使用 substr()(出于某些荒谬的原因),那么你可以使用更像这样的东西:

std::string Slice(const std::string &str, ssize_t start, ssize_t end)
{
if (start >= str.length())
return std::string();

if (end > str.length())
end = str.length();

return std::string(str.c_str() + start, end - start);
}

关于c++ - 如何从 C++ 中的字符串返回子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55680902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com