Fragmento de una conferencia con un mentor como parte del curso de Codegym University. Inscríbete al curso completo.
1 Comparando cadenas
Una de las operaciones más comunes con cadenas es la comparación. La clase String tiene más de diez métodos diferentes que se utilizan para comparar una cadena con otra cadena. A continuación vamos a echar un vistazo a 8 de los principales.
Métodos | Descripción |
---|---|
|
Las cadenas se consideran iguales si todos sus caracteres coinciden. |
|
Compara cadenas, ignorando el caso de las letras (ignora si son mayúsculas o minúsculas) |
|
Compara cadenas, devuelve el número de caracteres coincidentes desde el principio de la cadena. |
|
Devuelve el número de caracteres coincidentes desde el principio de una cadena, ignora mayúsculas y minúsculas |
|
Compara partes de cadenas |
|
Comprueba si la cadena actual comienza con la cadenaprefix |
|
Comprueba si la cadena actual termina con la cadenasuffix |
Supongamos que desea escribir un programa que le pida al usuario una ruta a un archivo y luego verifique el tipo de archivo según su extensión. El código de dicho programa podría verse así:
Código | notas |
---|---|
|
Crear un Scanner objeto Leer una línea desde la consola Verificar si la cadena path termina con la cadena dada |
2 Búsqueda de subcadenas
Después de comparar cadenas, la segunda operación más popular es encontrar una cadena dentro de otra. La clase String también tiene algunos métodos para esto:
Métodos | Descripción |
---|---|
|
Busca la cadena str en la cadena actual. Devuelve el índice del primer carácter de la primera aparición. |
|
Busca la cadena str en la cadena actual, omitiendo los primeros index caracteres. Devuelve el índice de la ocurrencia. |
|
Busca la cadena str en la cadena actual, comenzando desde el final. Devuelve el índice de la primera aparición. |
|
Busca la cadena str en la cadena actual desde el final, omitiendo los primeros index caracteres. |
|
Comprueba si la cadena actual coincide con un patrón especificado por una expresión regular. |
Los métodos indexOf(String)
y indexOf(String, index)
se utilizan a menudo en combinación. El primer método le permite encontrar la primera aparición de la subcadena pasada en la cadena actual. Y el segundo método le permite encontrar las ocurrencias segunda, tercera, etc. omitiendo los primeros caracteres de índice.
Supongamos que tenemos una URL como " https://domain.com/about/reviews ", y queremos reemplazar el nombre de dominio con " codegym.cc ". Las direcciones URL pueden tener todo tipo de nombres de dominio diferentes, pero sabemos lo siguiente:
- El nombre de dominio está precedido por dos barras diagonales: "//"
- El nombre de dominio va seguido de una sola barra diagonal: "
/
"
Así es como se vería el código para dicho programa:
Código | notas |
---|---|
|
Crear un objeto Scanner Leer una línea de la consola Obtener el índice de la primera aparición de la cadena " // " Obtenemos el índice de la primera aparición de la cadena / , pero solo buscamos una aparición de los caracteres // . Obtenemos la cadena desde el principio hasta el final de los caracteres. // Obtenemos la cadena / desde el final. Concatenamos las cadenas y el nuevo dominio. |
Los métodos lastIndexOf(String)
y lastIndexOf(String, index)
funcionan de la misma manera, solo que la búsqueda se realiza desde el final de la cadena hasta el principio.
3 Creación de subcadenas
Fragmento de una conferencia con un mentor como parte del curso de Codegym University. Inscríbete al curso completo.
Además de comparar cadenas y encontrar subcadenas, existe otra acción muy popular: obtener una subcadena de una cadena. Da la casualidad de que el ejemplo anterior le mostró una substring()
llamada de método que devolvió parte de una cadena.
Aquí hay una lista de 8 métodos que devuelven subcadenas de la cadena actual:
Métodos | Descripción |
---|---|
|
Devuelve la subcadena especificada por el rango de índice beginIndex..endIndex . |
|
Repite la cadena actual n veces |
|
Devuelve una nueva cadena: reemplaza el carácter oldChar con el carácternewChar |
|
Reemplaza la primera subcadena, especificada por una expresión regular, en la cadena actual. |
|
Reemplaza todas las subcadenas en la cadena actual que coincidan con la expresión regular. |
|
Convierte la cadena a minúsculas |
|
Convierte la cadena a mayúsculas |
|
Elimina todos los espacios al principio y al final de una cadena |
Aquí hay un resumen de los métodos disponibles:
substring(int beginIndex, int endIndex)
método
El substring
método devuelve una nueva cadena que consta de caracteres en la cadena actual, comenzando en el carácter con índice beginIndex
y terminando en endIndex
. Como ocurre con todos los intervalos en Java, el carácter con índice endIndex
no se incluye en el intervalo. Ejemplos:
Código | Resultado |
---|---|
|
|
|
|
|
|
|
|
Si endIndex
no se especifica el parámetro (lo que es posible), la subcadena se toma desde el carácter en beginIndex hasta el final de la cadena.
repeat(int n)
método
El método de repetición simplemente repite los n
tiempos de la cadena actual. Ejemplo:
Código | Resultado |
---|---|
|
|
|
|
|
|
|
|
replace(char oldChar, char newChar)
método
El replace()
método devuelve una nueva cadena en la que todos los caracteres oldChar
se reemplazan con el carácter newChar
. Esto no cambia la longitud de la cadena. Ejemplo:
Código | Resultado |
---|---|
|
|
|
|
|
|
|
|
replaceFirst()
y replaceAll()
metodos
El replaceAll()
método reemplaza todas las apariciones de una subcadena con otra. El replaceFirst()
método reemplaza la primera aparición de la subcadena pasada con la subcadena especificada. La cadena que se va a reemplazar se especifica mediante una expresión regular. Profundizaremos en las expresiones regulares en la búsqueda Java Multithreading .
Ejemplos:
Código | Resultado |
---|---|
|
|
|
|
|
|
|
|
toLowerCase() and toUpperCase()
métodos
Llegamos a conocer estos métodos cuando aprendimos por primera vez a llamar a los métodos de la String
clase.
trim()
método
El trim()
método elimina los espacios iniciales y finales de una cadena. No toca los espacios que están dentro de una cadena (es decir, ni al principio ni al final). Ejemplos:
Código | Resultado |
---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION