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." ]
我有这样的 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." ]