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