【发布时间】: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=> 调试(在原帖中编辑)