C++ QString split()函数,具有QRegExp奇怪的行为

C++ QString split()函数,具有QRegExp奇怪的行为,c++,regex,qt,qstring,qregexp,C++,Regex,Qt,Qstring,Qregexp,我有一些这样的文字: "1.801908\t20.439980\t\r\n25.822865\t20.439305\t\r\n26.113739\t4.069647\t\r\n1.800252\t4.301690\t\r\n" 我想将此文本按行拆分,然后按选项卡拆分。我使用QString split函数和QRegExp以这种方式实现: QStringList rows = text.split(QRegExp("[\r\n]"), QString::SkipEmptyParts); QStri

我有一些这样的文字:

"1.801908\t20.439980\t\r\n25.822865\t20.439305\t\r\n26.113739\t4.069647\t\r\n1.800252\t4.301690\t\r\n"
我想将此文本按行拆分,然后按选项卡拆分。我使用QString split函数和QRegExp以这种方式实现:

QStringList rows = text.split(QRegExp("[\r\n]"), QString::SkipEmptyParts);
QStringList cols = rows.at(0).split(QRegExp("[ \t]"), QString::SkipEmptyParts);
但我在cols中得到的只是一项:

  "1.801908\920.439980\9"

据我所知,第一次拆分将所有\t字符替换为\9。但我不明白为什么以及如何解决这个问题。有什么解释吗

这里不能复制。我得到了1.801908,20.439980当我qDebug也不能复制它时,我的输出是正确的。