1306
Capítulo 30 Cadenas, caracteres y expresiones regulares
de la misma. Si el método
lastIndexOf
encuentra el carácter, devuelve el índice de ese carácter en la cadena; en
caso contrario, devuelve
–1
. Hay dos versiones de
lastIndexOf
que buscan caracteres en una cadena. La expre-
sión en la línea 20 utiliza la versión que recibe la representación entera del carácter. La expresión en la línea 22
utiliza la versión que recibe dos argumentos enteros: la representación entera de un carácter y el índice a partir del
cual debe iniciarse la búsqueda inversa de ese carácter.
En las líneas 27 a 40 se muestran las versiones de los métodos
indexOf
y
lastIndexOf
que reciben, cada una
de ellas, un objeto
String
como el primer argumento. Estas versiones de los métodos se ejecutan en forma idén-
tica a las descritas anteriormente, excepto que buscan secuencias de caracteres (o subcadenas) que se especifi can
mediante sus argumentos
String
. Si se encuentra la subcadena, estos métodos devuelven el índice en la cadena
del primer carácter en la subcadena.
1
// Fig. 30.5: MetodosIndexString.java
2
// Métodos indexOf y lastIndexOf para buscar en cadenas.
3
4
public class
MetodosIndexString
5
{
6
public static void
main( String args[] )
7
{
8
String letras =
"abcdefghijklmabcdefghijklm"
;
9
10
// prueba indexOf para localizar un carácter en una cadena
11
System.out.printf(
12
"'c' se encuentra en el indice %d\n"
, letras.indexOf(
'c'
) );
13
System.out.printf(
14
"'a' se encuentra en el indice %d\n"
, letras.indexOf(
'a'
,
1
) );
15
System.out.printf(
16
"'$' se encuentra en el indice %d\n\n"
, letras.indexOf(
'$'
) );
17
18
// prueba lastIndexOf para buscar un carácter en una cadena
19
System.out.printf(
"La ultima 'c' se encuentra en el indice %d\n"
,
20
letras.lastIndexOf(
'c'
) );
21
System.out.printf(
"La ultima 'a' se encuentra en el indice %d\n"
,
22
letras.lastIndexOf(
'a'
,
25
) );
23
System.out.printf(
"La ultima '$' se encuentra en el indice %d\n\n"
,
24
letras.lastIndexOf(
'$'
) );
25
26
// prueba indexOf para localizar una subcadena en una cadena
27
System.out.printf(
"\"def\" se encuentra en el indice %d\n"
,
28
letras.indexOf(
"def"
) );
29
System.out.printf(
"\"def\" se encuentra en el indice %d\n"
,
30
letras.indexOf(
"def"
,
7
) );
31
System.out.printf(
"\"hola\" se encuentra en el indice %d\n\n"
,
32
letras.indexOf(
"hola"
) );
33
34
// prueba lastIndexOf para buscar una subcadena en una cadena
35
System.out.printf(
"La ultima ocurrencia de \"def\" se encuentra en el indice
%d\n"
,
36
letras.lastIndexOf(
"def"
) );
37
System.out.printf(
"La ultima ocurrencia de \"def\" se encuentra en el indice
%d\n"
,
38
letras.lastIndexOf(
"def"
,
25
) );
39
System.out.printf(
"La ultima ocurrencia de \"hola\" se encuentra en el indice
%d\n"
,
40
letras.lastIndexOf(
"hola"
) );
41
}
// fin de main
42
}
// fin de la clase MetodosIndexString
Figura 30.5
| Métodos de búsqueda de la clase
String
. (Parte 1 de 2).
30_MAQ_CAP_30_DEITEL.indd1306
5/8/084:22:34PM