1

我在一个文件中有一行是这样的:

DEF PatientLoadView Group {

我正在尝试解析文件以获取上一行中单词“DEF”之后的单词。我正在尝试使用 string.split() 找到分割线,然后使用 QStringList 类的 indexOf 函数找到“DEF”的索引,然后获取它旁边的单词。但是 indexOf 函数为此行返回 -1。对于其他这样的行,它返回正确的值。可能是什么问题呢?我的代码如下:

QString line = in.readLine();
if(line.contains("DEF"))
{
    QStringList lineSplit = line.split(" ");
    int index = lineSplit.indexOf("DEF",0);
    QString nodeName = lineSplit[index+1];
4

2 回答 2

0

确保 . 中的DEF字符之前没有任何内容line

特别要确保没有“\n”或其他控制字符。

于 2012-10-01T07:09:00.103 回答
0

我找到了问题的原因 - 该行以制表符 '\t' 开头,这是我读入的字符串的一部分。删除此制表符对我来说效果很好,我现在能够得到正确的结果。

感谢您的帮助。

于 2012-10-03T04:08:43.913 回答