Dividir e par subsequências por condição

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);

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=331918&siteId=1
Recomendado
Clasificación