我在文件中有一行,如下所示:
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];
答案 0 :(得分:0)
确保DEF
中的line
字符之前没有任何内容。
特别要确保没有'\ n'或其他控制字符。
答案 1 :(得分:0)
我找到了问题的原因 - 该行以标签'\ t'开头,这是我读到的字符串的一部分。删除此标签字符对我来说很好,我现在能够得到正确的结果。
感谢您的帮助。