gpt4 book ai didi

C++ 从字符串中获取值

转载 作者:行者123 更新时间:2023-11-28 02:10:16 25 4
gpt4 key购买 nike

我需要从字符串中获取值。我有这段 HTML:

<input type="hidden" name="wtkn" value="56e45dbe_wNIT/DcufUPvZOL33jmkyqGpKxw=">

在 C++ 中,这段代码:

  static string pat4 = " name=\"wtkn\"";
string::size_type wtkn;
if ((wtkn = l.find(pat4)) != string::npos)
{
l.erase(0,401);
l.erase(37,43);
string token = l;

return token;

}

所以我需要来自 HTML 的这个:56e45dbe_wNIT/DcufUPvZOL33jmkyqGpKxw=但是这个字符串大约有 37 或 38 个字符。所以删除东西不是最好的选择。

最佳答案

仅使用内置的 C++ 对象和函数,您可以执行如下操作:

示例代码

#include <iostream>
#include <string>

std::string getValue(const std::string &html)
{
static const std::string VALUE = "value";
static const char DOUBLE_QUOTE = '"';

std::string result;

std::size_t pos = html.find(VALUE);
if (pos != std::string::npos)
{
std::size_t beg = html.find_first_of(DOUBLE_QUOTE, pos);

if (beg != std::string::npos)
{
std::size_t end = html.find_first_of(DOUBLE_QUOTE, beg + 1);

if (end != std::string::npos)
{
result = html.substr(beg + 1, end - beg - 1);
}
}
}

return result;
}

int main()
{
std::string html = "<input type=\"hidden\" name=\"wtkn\" value=\"56e45dbe_wNIT/DcufUPvZOL33jmkyqGpKxw=\">";
std::cout << "HTML: " << html << "\n";
std::cout << "value: " << getValue(html) << "\n";
return 0;
}

示例输出

HTML: <input type="hidden" name="wtkn" value="56e45dbe_wNIT/DcufUPvZOL33jmkyqGpKxw=">
value: 56e45dbe_wNIT/DcufUPvZOL33jmkyqGpKxw=

Live Example


注意:可能需要额外的错误检查以获得可靠的解决方案。此示例实现也有一些先决条件(例如,包含 value 关键字,后跟在双引号和双引号之间的所需文本)。

关于C++ 从字符串中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35961729/

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