30.3.5 Extracción de subcadenas de las cadenas
La clase
String
proporciona dos métodos
substring
para permitir la creación de un nuevo objeto
String
al
copiar parte de un objeto
String
existente. Cada método devuelve un nuevo objeto
String
. Ambos métodos se
muestran en la fi gura 30.6.
La expresión
letras.substring( 20 )
en la línea 12 utiliza el método
substring
que recibe un argu-
mento entero. Este argumento especifi ca el índice inicial en la cadena original
letras
, a partir del cual se van a
copiar caracteres. La subcadena devuelta contiene una copia de los caracteres, desde el índice inicial hasta el fi nal
de la cadena. Si el índice especifi cado como argumento se encuentra fuera de los límites de la cadena, el programa
genera una excepción
StringIndexOutOfBoundsException
.
La expresión
letras.substring( 3, 6 )
en la línea 15 utiliza el método
substring
que recibe dos argu-
mentos enteros. El primer argumento especifi ca el índice inicial a partir del cual se van a copiar caracteres en la
cadena original. El segundo argumento especifi ca el índice que está una posición más allá del último carácter a
copiar (es decir, copiar hasta, pero sin incluir a, ese índice en la cadena). La subcadena devuelta contiene copias
de los caracteres especifi cados de la cadena original. Si los argumentos especifi cados están fuera de los límites de
la cadena, el programa genera una excepción
StringIndexOutOfBoundsException
.
Figura 30.5
| Métodos de búsqueda de la clase
String
. (Parte 2 de 2).
'c' se encuentra en el indice 2
'a' se encuentra en el indice 13
'$' se encuentra en el indice -1
La ultima 'c' se encuentra en el indice 15
La ultima 'a' se encuentra en el indice 13
La ultima '$' se encuentra en el indice -1
"def" se encuentra en el indice 3
"def" se encuentra en el indice 16
"hola" se encuentra en el indice -1
La ultima ocurrencia de "def" se encuentra en el indice 16
La ultima ocurrencia de "def" se encuentra en el indice 16
La ultima ocurrencia de "hola" se encuentra en el indice -1
1
// Fig. 30.6: SubString.java
2
// Métodos substring de la clase String.
3
4
public class
SubString
5
{
6
public static void
main( String args[] )
7
{
8
String letras =
"abcdefghijklmabcdefghijklm"
;
9
10
// prueba los métodos substring
11
System.out.printf(
"La subcadena desde el índice 20 hasta el final es \"%s\"\n"
,
12
letras.substring(
20
) );
13
System.out.printf(
"%s \"%s\"\n"
,
14
"La subcadena desde el índice 3 hasta, pero sin incluir al 6 es"
,
15
letras.substring(
3
,
6
) );
16
}
// fin de main
17
}
// fin de la clase SubString
Figura 30.6
| Métodos
substring
de la clase
String
.
La subcadena desde el índice 20 hasta el final es "hijklm"
La subcadena desde el índice 3 hasta, pero sin incluir al 6 es "def"
30.3 La
clase
String
1307
30_MAQ_CAP_30_DEITEL.indd1307
5/8/084:22:34PM