gpt4 book ai didi

c++ - 查找字符串中的最后一个单词

转载 作者:行者123 更新时间:2023-11-27 22:42:18 25 4
gpt4 key购买 nike

我试图返回字符串中的最后一个单词,但在使用 for 循环时遇到了问题。当我尝试测试该功能时,我只得到空字符串。不太确定是什么问题。非常感谢任何帮助。

string getLastWord(string text)

{
string revLastWord = "";
string lastWord = "";
if(text == "")
{
return text;
}

for(size_t i = text.size()-1; i > -1; i--)
{

if((isalpha(text[i])))
{
revLastWord+=text[i];
}
if(revLastWord.size()>=1 && !isalpha(text[i-1]))
{
break;
}
}

for(size_t k = revLastWord.size()-1; k > -1; k--)
{
lastWord+=revLastWord[k];
}

return lastWord;
}

最佳答案

我正在编写另一个解决方案,直到我回来查看并阅读评论;他们非常乐于助人。此外,@JustinRandall 的建议非常有帮助。我发现 find_last_of()substr() 更好地说明了函数的意图——更易于编写和阅读。谢谢!希望这可以帮助!它帮助了我。

std::string get_last_word(std::string s) {
auto index = s.find_last_of(' ');
std::string last_word = s.substr(++index);
return last_word;
}

/**
* Here I have edited the above function IAW
* the recommendations.
* @param s is a const reference to a std::string
* @return the substring directly
*/
std::string get_last_word(const std::string& s) {
auto index = s.find_last_of(' ');
return s.substr(++index);
}

关于c++ - 查找字符串中的最后一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47688798/

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