camisa xadrez:
Eu tenho uma string como esta: "aa-bb,ccdd,eeff,gg-gg,cc-gg"
. Eu preciso dividir a string por '-'
sinais e criar duas cordas a partir dele, mas se a parte delimitada por vírgulas do string original não contém '-'
, algumas necessidades de caracteres espaço reservado para ser usado em vez de substring. No caso do exemplo acima de saída deve ser:
Cordas 1:
"{aa,ccdd,eeff,gg,cc}"
Cordas 2:
"{bb,0,0,gg,gg}"
Eu não pode usar o lastIndexOf()
método, porque a entrada é em um string. Eu não sei como muito as partes.
if(rawIndication.contains("-")){
String[] parts = rawIndication.split("-");
String part1 = parts[0];
String part2 = parts[1];
}
Udith Gunaratna:
List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();
// First split the source String by comma to separate main parts
String[] mainParts = sourceStr.split(",");
for (String mainPart: mainParts) {
// Check if each part contains '-' character
if (mainPart.contains("-")) {
// If contains '-', split and add the 2 parts to 2 arrays
String[] subParts = mainPart.split("-");
list1.add(subParts[0]);
list2.add(subParts[1]);
} else {
// If does not contain '-', add complete part to 1st array and add placeholder to 2nd array
list1.add(mainPart);
list2.add("0");
}
}
// Build the final Strings by joining String parts by commas and enclosing between parentheses
String str1 = "{" + String.join(",", list1) + "}";
String str2 = "{" + String.join(",", list2) + "}";
System.out.println(str1);
System.out.println(str2);