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.
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


0