Java - Mayúsculas entre etiquetas

 
Vista:

Mayúsculas entre etiquetas

Publicado por Josema (1 intervención) el 06/11/2019 12:12:09
El ejercicio solicita transformar los caracteres a mayúsculas entre las etiquetas dadas.
La etiqueta es <mayus> 'caracteres' </mayus>

Ejemplo:
“Estamos viviendo en un <mayus>submarino amarillo</mayus>. No tenemos <mayus>nada</mayus> qué hacer"

Daría: “Estamos viviendo en un SUBMARINO AMARILLO. No tenemos NADA qué hacer”

Se recomienda utilizar expresiones regulares o IndexOf() para abrir y cerrar la etiqueta. Una vez calculado el índice de inicio y final del texto afectado por una etiqueta se extrae, se pasa a mayúscula se reemplaza toda la subcadena <mayus>texto</mayus>.

De momento he sacado cómo poner las palabras en mayúsculas con una expresión regular, pero no veo forma de reemplazarlas en el texto original e imprimirlo modificado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class MayusculasEntreEtiquetas {
 
private static final Pattern TAG_REGEX = Pattern.compile("<mayus>(.+?)</mayus>");
 
 
public static String getTagValues(final String str) {
    String tagValues="";
    final Matcher matcher = TAG_REGEX.matcher(str);
    while (matcher.find()) {
        tagValues+=matcher.group(1).toUpperCase();
    }
    return tagValues;
}
 
	public static void main(String[] args) {
 
		final String texto="Estamos viviendo en un <mayus>submarino amarillo</mayus>."
						 + " No tenemos <mayus>nada</mayus> qué hacer";
 
	    System.out.println(getTagValues(texto));
 
	}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jose A.
Val: 14
Ha aumentado su posición en 6 puestos en Java (en relación al último mes)
Gráfica de Java

Mayúsculas entre etiquetas

Publicado por Jose A. (8 intervenciones) el 06/11/2019 18:33:02
Buenas tardes,
En Java estoy aprendiendo y sé la mecánica de como hacerlo, pero no de hacerlo.
Mete la frase en un vector, cada palabra en un elemento o indice, recorrelo cuando encuentres una etiqueta de inicio los siguientes
los pones en mayusculas hasta la siguiente etiqueta de fin.
No sé si me he explicado bien.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar