C++ 转义短语子串

标签 c++ string parsing stl web

我正在尝试解析来自服务器的 Web 数据,并且我正在尝试找到我所拥有的更多 STL 版本。

我的旧代码由一个 for() 循环组成,并根据一组转义字符检查字符串的每个字符,并使用字符串流来收集其余部分。正如我确信您可以想象的那样,这种循环会导致读取 Web 数据时出现高故障点,因为我需要严格的语法检查。

我正在尝试开始使用 string::find 和 string::substr 函数,但我不确定最好的实现方式。

基本上,我想从服务器读取一串数据,不同的数据,用逗号分隔。 (即 first,lastname,email@email.com)并以逗号分隔,但读取其间的数据。

有人可以提供任何建议吗?

最佳答案

我不确定您要解析哪种数据,但使用多层架构始终是个好主意。每一层都应该实现一个抽象函数,每一层应该只做一个工作(比如转义字符)。

您使用的层数取决于解码流所需的实际步骤

对于您的问题,我建议使用以下层:

第 1 步:通过 ',' 和 '\n' 进行分词:转换为某种字符串 vector

第二:解析转义:解码转义字符

你应该使用 std::stringstream,并用循环处理字符。除非你的格式真的很简单(比如只有一个分隔符,没有转义符),否则你不能真正使用任何标准函数。

关于C++ 转义短语子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11907497/

相关文章:

c++ - 递归模板解释C++

c++ - Eclipse c++ makefile 项目输出

java - 从字符串中获取值

mysql - 如何从非规范化文本中提取单词?

java - 如何将两个链表相乘成第三个链表?

c++ - 在变量中存储基本算术运算符

c++ - 将您自己的 QT C++ 数据模型与 QML 集成

javascript - 使用 FileReader 的 readAsBinaryString 和 readAsText 之间的区别

javascript - 使用 jQuery 和 Javascript 解析本地 JSON 文件

java - Eclipse 中的 ical4j 出现 ParserException