PDF de programación - Funciones básicas con cadenas

Imágen de pdf Funciones básicas con cadenas

Funciones básicas con cadenasgráfica de visualizaciones

Publicado el 23 de Marzo del 2021
732 visualizaciones desde el 23 de Marzo del 2021
232,6 KB
6 paginas
Creado hace 7a (10/11/2016)
Funciones básicas con cadenas

Compilado de Manual Web tutoriales de programación - Victor Cuervo

Información básica de la cadena


 Comparación de Cadenas
 Búsqueda de caracteres
 Búsqueda de subcadenas
 Manejo de subcadenas
 Manejo de caracteres
 Conversión a String: valueOf()



1. Información básica de la cadena
.length()
Nos devuelve el tamaño que tiene la cadena.

char charAt(int index)
Devuelve el carácter indicado como índice. El primer carácter de la cadena será el del índice
0. Junto con el método .length()podemos recuperar todos los caracteres de la cadena de texto.

Hay que tener cuidado. Ya que si intentamos acceder a un índice de carácter que no existe
nos devolverá una excepciónIndexOutOfBoundsException.

2. Comparación de Cadenas
Los métodos de comparación nos sirven para comparar si dos cadenas de texto son iguales o
no. Dentro de los métodos de comparación tenemos los siguientes:

boolean equals(Object anObject)
Nos permite comparar si dos cadenas de texto son iguales. En el caso de que sean iguales
devolverá como valor "true". En caso contrario devolverá "false".

Este método tiene en cuenta si los caracteres van en mayúsculas o en minúsculas. Si
queremos omitir esta validación tenemos dos opciones. La primera es convertir las cadenas a
mayúsculas o minúsculas con los métodos .toUpperCase() y .toLowerCase()respectivamente.
Métodos que veremos más adelante.

La segunda opción es utilizar el método equalsIgnoreCase() que omite si el carácter está en
mayúsculas o en minúsculas.

boolean equalsIgnoreCase(String anotherString)
Compara dos cadenas de caracteres omitiendo si los caracteres están en mayúsculas o en
minúsculas.

int compareTo(String anotherString)
Este método es un poco más avanzado que el anterior, el cual, solo nos indicaba si las
cadenas eran iguales o diferentes

En este caso compara a las cadenas léxicamente. Para ello se basa en el valor Unicode de los
caracteres.

Se devuelve un entero menor de 0 si la cadena sobre la que se parte es léxicamente menor
que la cadena pasada como argumento. Si las dos cadenas son iguales léxicamente se
devuelve un 0. Si la cadena es mayor que la pasada como argumento se devuelve un número
entero positivo.

Pero que es esto de “mayor, menor o igual léxicamente”. Para describirlo lo veremos con un
pequeño ejemplo.

1. s1 = "Cuervo"
2. s2 = "Cuenca"
3. s1.compareTo(s2);

Compararíamos las dos cadenas. Los tres primeros caracteres son iguales "Cue". Cuando el
método llega al 4 carácter tiene que validar entre la r minúscula y la n minúscula. Si utiliza el
código Unicode llegará a la siguiente conclusión.

1. (114) > n(110)

Y nos devolverá la resta de sus valores. En este caso un 4.

Hay que tener cuidado, porque este método no tiene en cuenta las mayúsculas y minúsculas.
Y dichos caracteres, aún siendo iguales, tienen diferentes código. Veamos la siguiente
comparación

1. s1 = "CueRvo"
2. s2 = "Cuervo"
3. s1.compareTo(s2);

Nuevamente los tres caracteres iniciales son iguales. Pero el cuarto es distinto. Por un lado
tenemos la r minúscula y por otro la r mayúscula. Así:

1. R(82) < r(114)

¿Qué entero nos devolverá el método compareTo()? ¿-32?

int compareToIgnoreCase(String str)
Este método se comportará igual que el anterior. Pero ignorando las mayúsculas. Todo un
alivio por si se nos escapa algún carácter en mayúsculas

Otros métodos para la comparación de cadenas son:

1. boolean regionMatch( int thisoffset,String s2,int s2offset,int len

);

2. boolean regionMatch( boolean ignoreCase,int thisoffset,String s2,

int s2offset,int 1 );

3. Búsqueda de caracteres
Tenemos un conjunto de métodos que nos permiten buscar caracteres dentro de cadenas de
texto. Y es que no nos debemos de olvidar que la cadena de caracteres no es más que eso:
una suma de caracteres.

int indexOf(int ch)
Nos devuelve la posición de un carácter dentro de la cadena de texto. En el caso de que el
carácter buscado no exista nos devolverá un -1. Si lo encuentra nos devuelve un número
entero con la posición que ocupa en la cadena.

int indexOf(int ch, int fromIndex)
Realiza la misma operación que el anterior método, pero en vez de hacerlo a lo largo de toda
la cadena lo hace desde el índice (fromIndex) que le indiquemos.

int lastIndexOf(int ch)
Nos indica cual es la última posición que ocupa un carácter dentro de una cadena. Si el
carácter no está en la cadena devuelve un -1.

int lastIndexOf(int ch, int fromIndex)
Lo mismo que el anterior, pero a partir de una posición indicada como argumento.
4. Búsqueda de subcadenas
Este conjunto de métodos son, probablemente, los más utilizados para el manejo de cadenas
de caracteres. Ya que nos permiten buscar cadenas dentro de cadenas, así como saber la
posición donde se encuentran en la cadena origen para poder acceder a la subcadena.

Dentro de este conjunto encontramos:

int indexOf(String str)
Busca una cadena dentro de la cadena origen. Devuelve un entero con el índice a partir del
cual está la cadena localizada. Si no encuentra la cadena devuelve un -1.

int indexOf(String str, int fromIndex)
Misma funcionalidad que indexOf(String str), pero a partir de un índice indicado como
argumento del método.

int lastIndexOf(String str)
Si la cadena que buscamos se repite varias veces en la cadena origen podemos utilizar este
método que nos indicará el índice donde empieza la última repetición de la cadena buscada.

lastIndexOf(String str, int fromIndex)
Lo mismo que el anterior, pero a partir de un índice pasado como argumento.

boolean startsWith(String prefix)
Probablemente mucha gente se haya encontrado con este problema. El de saber si una
cadena de texto empieza con un texto específico. La verdad es que este método podía
obviarse y utilizarse el indexOf(), con el cual, en el caso de que nos devolviese un 0,
sabríamos que es el inicio de la cadena.

boolean startsWith(String prefix, int toffset)
Más elaborado que el anterior, y quizás, y a mi entender con un poco menos de signif icado
que el anterior.

boolean endsWith(String suffix)
Y si alguien se ha visto con la necesidad de saber si una cadena empieza por un determinado
texto, no va a ser menos el que se haya preguntado si la cadena de texto acaba con otra.

De igual manera que sucedía con el método startsWith() podríamos utilizar una mezcla entre
los métodos .indexOf() y .length() para reproducir el comportamiento de .endsWith(). Pero las
cosas, cuanto más sencillas, doblemente mejores.
5. Métodos con subcadenas
Ahora que sabemos como localizar una cadena dentro de otra seguro que nos acucia la
necesidad de saber como substraerla de donde está. Si es que no nos podemos estar
quietos...

String substring(int beginIndex)
Este método nos devolverá la cadena que se encuentra entre el índice pasado como
argumento (beginIndex) hasta el final de la cadena origen.

Así, si tenemos la siguiente cadena:

1. String s = "Víctor Cuervo"

El método…

1. s.substring(7)

Nos devolverá “Cuervo”.

String substring(int beginIndex, int endIndex)
Si se da el caso que la cadena que queramos recuperar no llega hasta el final de la cadena
origen, que será lo normal, podemos utilizar este método indicando el índice inicial y final del
cual queremos obtener la cadena.

Así, si partimos de la cadena...

1. String s = "En un lugar de la mancha...."

El método...

1. s.substring(6,11)

Nos devolverá la palabra “lugar”.
Hay que tener especial cuidado ya que es un error muy común el poner
como índice final el índice del carácter último de la palabra a extraer.
Cuando realmente es el índice + 1 de lo que queramos obtener.
6. Manejo de caracteres
Otro conjunto de métodos que nos permite jugar con los caracteres de la cadena de texto.
Para ponerles en mayúsculas, minúsculas, quitarles los espacios en blanco, reemplazar
caracteres,....

String toLowerCase();
Convierte todos los caracteres en minúsculas.

String toUpperCase();
Convierte todos los caracteres a mayúsculas.

String trim();
Elimina los espacios en blanco de la cadena.

String replace(char oldChar, char newChar)
Este método lo utilizaremos cuando lo que queramos hacer sea el remplazar un carácter por
otro. Se reemplazarán todos los caracteres encontrados.
7. Conversión a String: valueOf()
Un potente conjunto de métodos de la clase String nos permite convertir a cadena cualquier
tipo de dato básico: int, float, double,…

Esto es especialmente útil cuando hablamos de números. Ya que en múltiples ocasiones
querremos mostrarles como cadenas de texto y no en su representación normal de número.

Así podemos utilizar los siguientes métodos:

 String valueOf(boolean b);
 String valueOf(int i);
 String valueOf(long l);
 String valueOf(float f);
 String valueOf(double d);
 String valueOf(Object obj);
  • Links de descarga
http://lwp-l.com/pdf19024

Comentarios de: Funciones básicas con cadenas (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad