0

こんにちは、これはかなり簡単なことだと思いますが、私の Java は非常にさびています。

文字列の例があります

aaa\n123\nbbb\n124\ncccdef\n125\ndefg\n126

私がする必要があるのは、次の配列になる \n の 2 回目の出現に基づいて、文字列をセットに分割することです。

ああ\n123

bb\n124

cccdef\n125

デフォルト\n126

どうすればこれを達成できますか?

4

5 に答える 5

0
String example; //your string
String c = "\\n"; //I assume your delimiter is actually the "\n" string not the newline

String[] pieces = example.split(c);
ArrayList<String> final_list = new ArrayList<String>;

bool add = false;
String mem;

for (String s : pieces) {
    if (add) {
        final_list.add(mem+c+s);
    } else {
        mem = s;
    }
    add = !add;
}
于 2013-07-05T08:37:41.600 に答える
0

迅速で汚い解決策:

    String input = "aaa\n123\nbbb\n124\ncccdef\n125\ndefg\n126";
    String[] splitted = input.split("\n");
    String[] finalArray = new String[splitted.length / 2];
    int idx =0;

    for(int i=0; i<splitted.length; i=i+2) {
        finalArray[idx] = finalArray[i] + finalArray [i+1];
        idx++;
    }
于 2013-07-05T08:37:54.813 に答える
0
String data = "aaa\n123\nbbb\n124\ncccdef\n125\ndefg\n126";

        String[] splitData = data.split("\n");
        List<String> finalData = new ArrayList<String>();
        StringBuilder temp = new StringBuilder();

        for (int i = 0; i < splitData.length; i++) {
            temp.append(splitData[i]);
            if (i % 2 == 1) {
                finalData.add(temp.toString());
                temp = new StringBuilder();
            } else {
                temp.append("\n");
            }
        }
于 2013-07-05T08:45:51.987 に答える
0

1 回の試みは正規表現である可能性があります。または、出現ごとに分割して、自分でペアを構築します

于 2013-07-05T08:31:18.867 に答える