例如,我的QString
为"12 1,2 3,4"
,我想弹出"12"
,然后修剪掉前导空格,使其变为" 1,2 3,4"
这是从输入文件中读取的一部分。
QFile input_file("path/to/testfile.txt");
if (!input_file.exists()) {
dbg << "File does NOT exist" << endl;
exit(1);
}
if (!input_file.open(QFile::ReadOnly)) {
exit(2);
}
QDataStream input_stream(&input_file);
while (!input_file.atEnd()) {
QString line = input_stream.readLine();
// how do I parse off that first number?
答案 0 :(得分:1)
看起来QTextStream
可以完成这项工作,您的评论目前在哪里。
QTextStream
似乎是std::istringstream
的QT等价物,用于解析由空格分隔的文本。
QTextStream text_stream( &line );
QString that_first_numer;
text_stream >> that_first_number; // Read text up to whitespace
line = text_stream.read_line(); // Copy the remaining text back to line.
答案 1 :(得分:1)
您可以将字符串拆分为由任何字符分隔的子字符串:
QStringList tokens= line.split(" ",QString::SkipEmptyParts);
现在tokens[0]
可以访问第一个号码。
删除第一个元素并修剪字符串就像:
line.remove(0,tokens[0].length()).trimmed();