Qt怎样使用字母分割字符串
N1G0 Y1.8C113
N4G2Y2 C13.9 R150F12
N6G3 Y:7.25 C:8.9R1.26
N7G3 Y:4.4 C:14.4R48.7
怎样使用qt以字母分割为N1,G0,Y1.8,C113等字符
可以使用QString类的split()函数来实现在Qt中按字母分割字符串,具体步骤如下:
将要分割的字符串转换为QString类型,可以使用QString的构造函数或者fromStdString()静态函数。
QString str = QString::fromStdString("N1G0 Y1.8C113");
使用split()函数按指定的分隔符对字符串进行分割,可以使用QString中的正则表达式作为分隔符。例如,要按字母分割字符串,可以使用正则表达式"([A-Za-z])",表示匹配任意一个字母。
QStringList parts = str.split(QRegExp("([A-Za-z])"));
分割后得到的结果是QStringList类型,可以使用at()函数来访问其中的每一个分割后的字符串。
QString part1 = parts.at(0); // N1
QString part2 = parts.at(1); // G0
QString part3 = parts.at(2); // Y1.8
QString part4 = parts.at(3); // C113
完整的示例代码如下:
#include <QDebug>
#include <QString>
int main(int argc, char *argv[])
{
Q_UNUSED(argc);
Q_UNUSED(argv);
QString str = QString::fromStdString("N1G0 Y1.8C113");
QStringList parts = str.split(QRegExp("([A-Za-z])"));
QString part1 = parts.at(0); // N1
QString part2 = parts.at(1); // G0
QString part3 = parts.at(2); // Y1.8
QString part4 = parts.at(3); // C113
qDebug() << "part1: " << part1; // "part1: N1"
qDebug() << "part2: " << part2; // "part2: G0"
qDebug() << "part3: " << part3; // "part3: Y1.8"
qDebug() << "part4: " << part4; // "part4: C113"
return 0;
}
答案出自 #qt# https://www.wodianping.com/