Bienvenidos sean a este post, hoy hablaremos sobre uno de los metodos para la clase String.
Este metodo nos informa si una parte informada de texto coincide en dos variables distintas, veamos su sintaxis:
variable.regionMatches([ignoraCase,]inicio, otraVar, inicio2, largo);
Vamos a comentar los argumentos que debemos pasar:
- ignoraCase, este es el unico opcional y se usa para ignore entre mayusculas y minusculas
- inicio, sera desde que posicion de la primera variable debe comenzar la busqueda
- otraVar, sera la otra variable que usaremos para comenzar
- inicio2, sera el comienzo de la nueva variable
- largo, el numero de caracteres a comparar
El valor devuelto sera de tipo booleano siendo true en el caso de que ambas regiones coinicidan completamente, si se utiliza ignoraCase chequeara que coinicidan los caracteres ignorando las mayusculas y minusculas, en caso de no coinicidir devolvera false y si no usamos la opcion ignoraCase en caso de no coinicidir mayusculas y minusculas tambien devuelve false, para entender el concepto vamos a utilizar el siguiente ejemplo:
region.java
public class region
{
public static void main(String[] args)
{
String cdn1 = "Bienvenidos a tinchicus.com";
String cdn2 = "tinchicus";
int pos1 = cdn1.indexOf(cdn2);
String msj = "Valor devuelto: ";
System.out.println(msj + cdn1.regionMatches(pos1,cdn2,0,9));
cdn2 = "Tinchicus";
System.out.println(msj + cdn1.regionMatches(pos1,cdn2,0,9));
System.out.println(msj + cdn1.regionMatches(true,pos1,cdn2,0,9));
}
}
Para este ejemplo primero vamos a crear dos variables de tipo String donde en una tendremos el texto que usaremos para trabajar (cdn1) y en la otra tendremos el texto que deseamos buscar (cdn2), luego tenemos otra variable donde almacenaremos la posicion donde se encuentra el texto de cdn2 en cdn1 mediante el metodo indexOf, por ultimo tenemos una variable la cual sera para identificar el valor devuelto por el metodo.
Nota: si quieren saber mas sobre el metodo indexOf tienen este post.
Ahora pasemos a la parte interesante, en este caso primero mostraremos el resultado del primer regionMatches sin la opcion de ignoraCase, al no informarlo lo toma como false automaticamente, luego pasamos el valor donde se encuentra la region que deseamos comparar de cdn1 mediante el valor almacenado en pos1, despues pasamos el valor almacenad en cdn2 y por ultimo desde donde debe comenzar y el total de caracteres a comparar, con esto tenemos el primer caso, despues modificamos el valor de cdn2 para que la primera letra sea en mayuscula, volvemos a usar la misma linea que antes y por ultimo volvemos a hacer lo mismo pero observen como ahora pasamos un true para que ignore las mayusculas y minusculas, compilemos y veamos su salida:
tinchicus@dbn001vrt:~/lenguajes/java$ java region
Valor devuelto: true
Valor devuelto: false
Valor devuelto: true
tinchicus@dbn001vrt:~/lenguajes/java$
Observen los distintos casos, en el primer caso devolvio true porque todo coincide plenamente, en cambio en el segundo caso nos devolvio false porque ahora la region que comparamos no coinciden (recuerden que modificamos el valor de cdn2) y en el ultimo caso vuelve a true porque agregamos el ignoraCase por lo tanto solo compara caracteres y estos coinciden plenamente.
En resumen, hoy hemos visto regionMatches, que es, como se usa, como nos ayuda, tambien hemos visto un ejemplo practico para entender mejor su concepto, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.00
