【发布时间】:2012-08-10 18:45:34
【问题描述】:
我正在尝试解析来自服务器的网络数据,并且我正在尝试找到我所拥有的更多 stl 版本。
我的旧代码包含一个 for() 循环,并根据一组转义字符检查字符串的每个字符,并使用 stringstream 来收集其余部分。我相信你可以想象,这种循环会导致读取 Web 数据时出现故障,因为我需要严格的语法检查。
我正在尝试改用 string::find 和 string::substr 函数,但我不确定最好的实现方式。
基本上,我想从服务器读取一串数据,不同的数据,用逗号分隔。 (即,first,lastname,email@email.com)并用逗号分隔,但读取其间的数据。
任何人都可以提供任何建议吗?
【问题讨论】:
-
你应该研究正则表达式——它们会让你定义一套好的规则来检索特定的模式。
-
Boost 库有一些非常漂亮的东西,比如
boost::split和boost::regex,你可能会觉得有用。一些编译器也支持新的 C++11std::regex等。如果您正在处理 XML soap 请求和响应,也许 TinyXML 或其他 XML 解析器可能会提供帮助。
标签: c++ string parsing stl web