【问题标题】:how to split \t in Qt text reading如何在 Qt 文本阅读中拆分 \t
【发布时间】:2018-01-24 17:51:30
【问题描述】:

我正在使用 split 来检测 Qt 文本文件中的一些数字。

 QString line = my_file.readLine();
 QStringList list ;
 if(file_format=="csv")
    list=line.split(',', QString::SkipEmptyParts);
 else
    list=line.split('\t', QString::SkipEmptyParts);

此代码适用于 csv 文件。但对于 txt 文件,它没有检测到任何数字。我能做些什么?任何的想法? 示例文本:

-0.0050000000000000001  0.0018503982665486619   1.7510645161290324

在 Qt 调试的行变量中检测到这一点

-0.0050000000000000001\t0.0018503982665486619\t1.7510645161290324

【问题讨论】:

  • 你在上一条评论中是什么意思在 Qt deb 的行变量中检测到这一点
  • 你的意思是你验证那些是真的Tabs,如果不是,你为什么要假设它们是?为了测试,你尝试\s(空白)而不是\t
  • list = line.split(QRegExp("\\s+"), QString::SkipEmptyParts);?
  • QByteArray::toHex() 是调查此类事情的绝佳功能。
  • deb=> 调试(在原帖中编辑)

标签: c++ qt qstring


【解决方案1】:

问题解决了。感谢所有人,感谢 Wiktor Stribiżew。该错误使用 '\t' 而不是 "\t"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多