【发布时间】:2013-12-16 17:01:18
【问题描述】:
我有一个格式类似于QString word = "123,12,1,"This is, a test";(从 CSV 文件中提取)的 QString。我想在每个逗号处拆分它,不包括最后一个单元格中字符串中的任何逗号。该列表类似于{"123", "12", "1", "\"This is, a test\""}。
格式是一个最多 3 位的数字,然后是一个最多 2 位的数字,然后是一个最多 1 位的数字,然后是一个可以包含逗号的字符串。列表中应该总是有 4 个 QString。这是我正在尝试的方法
QString word = "123,12,1,\"This is, a test\"";
QStringList list = word.split( QRegExp( "(\\d+)," ) );
我从here 获得了此代码。此代码仅保存列表中的第 4 个 QString,前 3 个为空白。有人可以帮帮我吗?
【问题讨论】:
-
由于您的要求有点复杂,我建议您简单地使用循环进行字符串解析。这样它会更加灵活和可读。
-
在我的帖子下面添加了一个测试。另外,这个
QString word = "123,12,1,"This is, a test";是如何在 C++ 中解析的?