gpt4 book ai didi

c++ - 拆分 QString 直到第 n 个逗号

转载 作者:太空宇宙 更新时间:2023-11-04 11:44:12 25 4
gpt4 key购买 nike

我有一个 QString,其格式类似于 QString word = "123,12,1,"This is, a test";(从 CSV 文件中提取)。我想拆分它在每个逗号处向上,不包括最后一个单元格中字符串中的任何逗号。该列表类似于 {"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 个为空。有人可以帮帮我吗?

最佳答案

这行得通吗?

编辑 - 这是一个小测试。

如果你没有得到预期的结果,那么你不能使用QT的拆分。
您应该在 while 循环中解析它以填充列表。

 QString str      = "\"123,12,1,\"This is, a test\"";
QStringList list =
str.split(
QRegExp("(\"[^\"\\\\]*(?:\\\\[\\S\\s][^\"\\\\]*)*\"|\\d+)|,"),
QString::SkipEmptyParts
);

关于c++ - 拆分 QString 直到第 n 个逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20303700/

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