Manipulación de cadenas en matrices

Todavía soy nuevo en Java y me gustaría entender cadenas y matrices, así que tuve la idea de manipular elementos y colocarlos de acuerdo con mi objetivo. El objetivo es que habrá Array of Strings "ABBCCCBBAA" y el "AA", "BB" deben reemplazarse en "A", "BA", "AB" en CC. "CC", "BC" en B. Básicamente no tengo idea de cómo hacerlo, pero sé que debe tener Arrays of String. Por favor ayuda

Respuesta 1

La expresión regular puede ser muy útil para usted. El siguiente código puede hacer su trabajo con el uso de expresiones regulares:

   String mainStr = "ABBCCCBBAA";

    Pattern p = Pattern.compile("(AA)|(BB)|(BA)|(AB)|(CC)|(BC)");
    Matcher m = p.matcher(mainStr);

    while (m.find()) {
        String matchedStr = m.group(0);

        if("AA".equals(matchedStr) || "BB".equals(matchedStr)){
            mainStr = mainStr.replaceFirst(matchedStr,"X");
        }

        else if("BA".equals(matchedStr) || "AB".equals(matchedStr)){
            mainStr = mainStr.replaceFirst(matchedStr,"Y");
        }
        else if("CC".equals(matchedStr) || "BC".equals(matchedStr)){
            mainStr = mainStr.replaceFirst(matchedStr,"Z");
        }
    }
    mainStr = mainStr.replaceAll("X","A").replaceAll("Y","CC").replaceAll("Z","B");
    System.out.println(mainStr);

El código anterior manejará su caso de ocurrencia múltiple del mismo patrón en una cadena dada como:

ABBCCCBBAABBBBAA

generará salida:

CCBBAAAAA.
Respuesta: 2

Estoy aprendiendo Java y estoy haciendo programas simples para encontrar la temporada en la que se encuentra un mes, según algunos ejemplos de libros. Estas dos clases demuestran dos formas de probar un valor: if / else if instrucción, ...

Quiero omitir las violaciones de PMD para todos los archivos en los paquetes que siguen ** / dto / Q [AZ] ** por ejemplo, la violación de PMD se debe omitir para com.abc.foo.bar.dto.QResult.java pero no para com.abc. foo.bar.dto.Question.java ...

Necesito una estructura / solución de datos java que cumpla con estos requisitos. ¿Qué se adapta mejor a estos? 1) El orden de inserción del objeto debe mantenerse 2) Los objetos deben ser únicos (Estos son objetos de base de datos que son ...

¿Por qué puedo tener un método para recibir una lista con comodines: public processGenerics (List <? Extend User> users) {...} pero no puedo crear una instancia de esa misma Lista de manera similar? Lista <? se extiende ...