首页 > 解决方案 > QString 最大拆分(块的数量?)

问题描述

我是 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(),但它们会逐行更改,所以我永远不知道。

有什么方法可以像 Java 一样在 Qt 中实现这一点吗?

标签: stringqtsplitqstring

解决方案


推荐阅读