QString::split() 的正则表达式用于两个浮点数

Regex for QString::split() for two float numbers

我有这样的 QString 行 "567\n1.23456 2.34567\n1.23456 2.34"

我只想要 "whole" 只在 \n 个字符之间的浮点数。

我需要 split() 之后的 QStringList,它只包含这个浮点数。 QString::split() 可以使用 RegEx 所以也许我可以在这里使用 som regex。

我试过 QStringList myList = QString("56\n1.12345 2.34567\n1.23456 2.34").split('\n') returns 我 ["1.2345 2.34567"] 所以我需要再次将其拆分为 ["1.23456"] 和 ["2.34567"]

这个正则表达式 \d+(\.\d+)? 会给你任何 float/int 数字!

您应该在 QRegularExpression("\s+") 拆分。 \s表示whitespace(包括</code>=space和<code>\n=newline),+表示一个或更多,您需要转义反斜杠。

QString::split 的 Qt 文档有您的答案

QString str;
QStringList list;
str = "Some  text\n\twith  strange whitespace.";
list = str.split(QRegularExpression("\s+"));
// list: [ "Some", "text", "with", "strange", "whitespace." ]