我是C ++的新手,我正在尝试使用Qt框架来创建应用程序,但是,我需要解析一个大文本文件,并需要使用split()选项。
我试图将每行分成6段,每个字符串的长度不一样,所以不确定我是否可以使用mid(),left()或right()函数?
例如,在Java中,我可以轻松地通过最大拆分来做到这一点,像这样,它允许我拆分为6个部分,在最后一个子字符串中保留空格:
String str = "1 689 0 0 02WA Aaaa Bbbb Ccccc";
String str2 = "1 6389 0 0 02WAB Eeee Ff Ggggggggg";
System.out.println("First line");
for(int i=0; i < 6; i++){
System.out.println(str.split("\\s+", 6)[i]);
}
System.out.println("\nSecond line");
for(int i=0; i < 6; i++){
System.out.println(str2.split("\\s+", 6)[i]);
}
输出:
First line
1
689
0
0
02WA
Aaaa Bbbb Ccccc
Second line
1
6389
0
0
02WAB
Eeee Ff Ggggggggg
问题是,如果我知道我想要的每个子字符串的确切长度,我可以使用left(),right()或mid(),但是它们会逐行更改,所以我永远都不知道。 / p>
有什么方法可以像Java一样在Qt中实现吗?