こんにちは、これはかなり簡単なことだと思いますが、私の Java は非常にさびています。
文字列の例があります
aaa\n123\nbbb\n124\ncccdef\n125\ndefg\n126
私がする必要があるのは、次の配列になる \n の 2 回目の出現に基づいて、文字列をセットに分割することです。
ああ\n123
bb\n124
cccdef\n125
デフォルト\n126
どうすればこれを達成できますか?
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;
}
迅速で汚い解決策:
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++;
}
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");
}
}
1 回の試みは正規表現である可能性があります。または、出現ごとに分割して、自分でペアを構築します