gpt4 book ai didi

c++ - C++中的字符串流来解析单词和数字的字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:23:38 27 4
gpt4 key购买 nike

我有这样的字符串:'123plus43times7'

其中数字后跟字典中的单词。

我知道我可以使用 >>> 运算符提取整数/数字:

StringStream >> number

我可以得到号码。但是, Stream 中仍然有数字。当数字的长度未知时如何删除数字,或者我应该找出数字的长度然后使用 str.substr() 创建一个新的 String Stream ?使用 C++ STL String 和 SStream 的任何其他更好的方法将不胜感激。

最佳答案

您可以在文本和数字之间插入空格,然后使用 std::stringstream

#include <iostream>
#include <string>
#include <sstream>
#include <cctype>

int main()
{
std::string s = "123plus43times7";
for (size_t i = 0; i < (s.size() -1 ); i++)
{
if (std::isalpha(s[i]) != std::isalpha(s[i + 1]))
{
i++;
s.insert(i, " ");
}
}
std::stringstream ss(s);
while (ss >> s)
std::cout << s << "\n";
return 0;
}

关于c++ - C++中的字符串流来解析单词和数字的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36705943/

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