Extraer una parte de una cadena

28/May/2010 Java , 18 Comentarios
java

Una consa muy sencilla de hacer con Java y que la utilizaremos en muchos ejemplo es la de extraer una parte de una cadena. Para poder llevar a cabo este procedimiento nos basaremos en el método substring() de Java. Dicho método lo encontraremos en la clase String.

Aunque el método substring() puede ser invocado de diferentes formas, nosotros nos basaremos en la siguiente:

  1. public String substring(int beginIndex, int endIndex)

Los parámetros que le pasamos indican el indice inicial y final de la cadena que queramos extraer. El inicial corresponde con la posición de la letra por la que queremos empezar y el final por la letra que está justo después de la última letra que queramos recuperar.

Una cosa muy importante es que la primera letra de una cadena de texto siempre tiene el índice 0.

Estas serían las posiciones de la frase "Hola Mundo".

H o l a   M u n d o
0 1 2 3 4 5 6 7 8 9

Así que si queremos extraer la parte "Mundo" de la cadena "Hola Mundo". El código substring() a utilizar será el siguiente:

  1. String sCadena = "Hola Mundo";
  2. String sSubCadena = sCadena.substring(5,10);
  3. System.out.println(sSubCadena);

Algo sencillo y útil.

Podéis consultar más sobre el método substring() en http://www.w3api.com/wiki/Java:String.substring()

Vídeos sobre Java Básico


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

18 comentarios en “Extraer una parte de una cadena”

Víctor Cuervo

Luis

Hola tengo una gran duda. Como puedo separar una cadena que se encuentra delimitada por una palabra en especifico(no caracter). Con tokenizer.. hasta el momento solo he visto ejemplos con caracteres pero con palabras no me ha funcionado debido a que me toma cada letra como delimitante

Víctor Cuervo

Eduardo

amigo necesito una pequeña ayuda.
Ingresar nombres y apellidos en una variable. Mostrar el primer nombre y el último apellido.

Víctor Cuervo

kriminal

Hola.. Supongamos que hay una separación de espacios entre el nombre y los apellidos..
String cadena = “Pepe apellido1 apellido2″;
String [] arrayString = cadena.split(” “);
Ahora es fácil sacar la primera parte y la última de una array no??
int nombre = 0;
int apellido2 = arrayString.length -1;
String nombre = arrayString[nombre];
String apellido2 = arrayString[apellido2];

Saludos..

Víctor Cuervo

Lucia Palacios

Buenas noches quisiera q me ayudasen a aser un programa o q me diecen la idea de hacerlo el usuario ingresara una oracion y esa oracion la tengo q convertir a sombolos entonces ejemplo como hago para capturar algunas palabras de la oracion que me ingrese el usuario ejemplo si el usuario me ingresa una oracion q dice ” Si hoy llueve entonces hace frio” en este caso como hago para capturar la palabra entonces y mostrarcela al usuario en simbolo ejemplo (transformando la oracion seria) ” si hoy llueve ->(simbolo q representa el entonces) hace frio ” podrian ayudarme se los agradeceria muchisiimooo

Víctor Cuervo

melissa melo silva

me ayudo mucho la publicacion para mi examen xd jiji

Víctor Cuervo

Víctor Cuervo

Melissa nos alegra mucho que te haya servido para el examen. 😀

Víctor Cuervo

Marcos

Hola, no se si alguien me pueda decir como hago para que esa substring ya no se muestre a la hora de imprimir en pantalla, es decir “hola mundo” substring 0,4 —> “mundo”
necesito ayuda

Víctor Cuervo

Víctor Cuervo

Hola Marcos,

El código es el explicado arriba. Bastaría con realizar el substring() y asignárselo a una nueva variable.

Si quieres Mundo:

String sCadena = "Hola Mundo";
String sSubCadena = sCadena.substring(5,10);
System.out.println(sSubCadena);

Si quieres Hola:

String sCadena = "Hola Mundo";
String sSubCadena = sCadena.substring(0,4);
System.out.println(sSubCadena);

Saludos.

Víctor Cuervo

manuel urbina

me encanto el blog. ire a mamar!!

Víctor Cuervo

Julio Campos

Saludos, muy buena página, una pregunta sobre el algoritmo, y si no supieramos el tamaño de la cadena? como podriamos hacer esa subcadena, supongamos que se lee una cadena de un archivo.

Víctor Cuervo

Yuni

Hola! tengo una pequeña duda, tengo un ejercicio donde el usuario ingresa un nombre y dos apellidos, luego, del nombre se extraen las ultimas 4 letras. como es algo ingresado por el usuario no puedo llegar y colocar substring con cualquier valor numérico, ya que todo varia según lo que ingrese el usuario. Ayudaaaaaa

Víctor Cuervo

Víctor Cuervo

@olivo,
Comentarios y ánimos como el tuyo nos dan ánimos para seguir escribiendo mucho más 😀

Víctor Cuervo

olivo

Gracias, me ha ayudado mucho esta publicación 🙂

Víctor Cuervo

Víctor Cuervo

@GelukkigTurtle, Me alegro que te haya servido. 😀

Víctor Cuervo

GelukkigTurtle

Muchas gracias y muy bien explicado me funciono!

Víctor Cuervo

henry merma

exelente de ehh

Víctor Cuervo

Héctor

MMMM, ya te dieron las herramientas para hacerlo, solo te faltaría echarle coco y generar el algoritmo para que te muestre el resultado como lo quieres, lo primero que se me viene ala mente es de que lo puedes meter dentro de un for con la longitud de la cadena

Víctor Cuervo

criminal

hola..Y como hago lo mismo sin usar .substring()..Me explico,he de hacer un programa que saque posibles subcadenas de una cadena sin usar substring,a mi solo me sale usandolo..ejemplo:entramos abcd y debe devolver:
a
ab
abc
abcd
b
bc
bcd
c
cd
d
Gracias

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*


*