Comunidad Underground Hispana  

Retroceder   Comunidad Underground Hispana > Programacion > Programación > Java


Respuesta Crear Nuevo Tema
 
Compartir en twitter LinkBack Herramientas Desplegado
Antiguo 13-may-2010, 14:30   #1
Miembro
 
Avatar de NIGHTBIRD
 
Fecha de Ingreso: agosto-2008
Amigos 0
Mensajes: 146
Gracias: 2
Agradecido 1 vez en 1 mensaje.
Question Rellenar String char a char (rellenar cadena caracter a caracter) ????

Hola de nuevo a tod@s. La duda que tengo es la siguiente. Realmente necesito crear una cadena a partir de otra cadena. Es decir, copiar parte de una cadena a otra. Esa parte que quiero copiar es desde el principio hasta un caracter determinado (un espacio en blanco).
Para ello he pensado en crear un bucle o ciclo mas o menos asi:



String original;
String copia;
char carac_determinado=' ';
char auxiliar;
int i=0;



//Mientras que el caracter numero "i" de la cadena "original" no sea igual a carac_determinado...
while (original(i)!=carac_determinado){
//...vamos copiando caracter a caracter "original" a "copia".
copia(i)=original(i);
}


Es posible hacer esto de esta manera???

Gracias de antemano.

Un saludo.
__________________
Si lloras por no poder ver el sol, las lágrimas no te dejarán ver las estrellas.

Con la sangre de un valiente y un rayo de sol, Dios creó una bandera y se la dió al pueblo español.

NIGHTBIRD está desconectado   Responder Citando
Antiguo 13-may-2010, 16:44   #2
Recien llegado
 
Fecha de Ingreso: marzo-2010
Amigos 0
Mensajes: 4
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Predeterminado

Si es posible. Si hablamos de java por lo menos
String orig="Fulano de la mancha"
String copia=orig.substring(0,orig.indexOf(" "));//copia tendra el valor "Fulano"
stankovic está desconectado   Responder Citando
Antiguo 14-may-2010, 03:10   #3
Recien llegado
 
Fecha de Ingreso: mayo-2010
Amigos 0
Mensajes: 12
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Wink

mmm haber te ayudo

Código:
String original="Una Cadena con espacios";
String copia="";   //Otra sin nada
char carac_determinado=' ';
char auxiliar;//esto no sirve
int i=0;

/*el metodo charAt(posicion)  devuelve el caracter de la cadena en la posicion que le mandemos en este caso i*/
while(original.charAt(i)!=carac_determinado)
{
//Mientras el caracter leido no sea un espacio, lo concatenamos a la cadena copia
//Creo que sabes que += va concatenando los caracteres a copia
copia+=original.charAt(i);
i++;    
}
System.out.print(copia);
  
Ahora la forma facil, en java existe una clase llamada StringTokenizer, y hace exactamente lo que tu quieres, solo hace falta instanciar un objeto de ella, recibe en su constructor dos parametros, uno es la cadena de entrada, y el segundo la subcadena de separacion, en este caso " ", podria ser tal vez una coma "," un guion "-" etc. Para utilizarla tenemos que importarlo de el paquete util

Código:
import java.util.StringTokenizer;
  
ya despues solo hacemos lo antes mencionado

Código:
StringTokenizer st = new StringTokenizer(original," ");
System.out.print(st.nextToken());
  
por cada llamada al st.nextToken(); nos devolvera:
1.-Una
2.-Cadena
3..-con
4.-espacios

hasta que no haya mas tokens o subcadenas.......bueno es todo espero te haya servido...y si tienes tiempo, antes de preguntar aka, mejor preguntale a google que tambienlo resuelve todo...Salu2

por ejemplo:

Código:
//Mientras halla mas subcanedas imprime la subcadena
while(st.hasMoreTokens())
{
    System.out.println(st.nextToken());
}
  
Resultado

Código:
--------------------Configuration: <Default>--------------------
Una
Cadena
con
espacios

Process completed.
  
Te recomiendo que leas los metodos de esta clase...te ayudaran mucho...bye bye
3xcelente está desconectado   Responder Citando
Antiguo 14-may-2010, 09:40   #4
Miembro
 
Avatar de NIGHTBIRD
 
Fecha de Ingreso: agosto-2008
Amigos 0
Mensajes: 146
Gracias: 2
Agradecido 1 vez en 1 mensaje.
Predeterminado

Cita:
Iniciado por 3xcelente Ver Mensaje
mmm haber te ayudo

Código:
String original="Una Cadena con espacios";
String copia="";   //Otra sin nada
char carac_determinado=' ';
char auxiliar;//esto no sirve
int i=0;

/*el metodo charAt(posicion)  devuelve el caracter de la cadena en la posicion que le mandemos en este caso i*/
while(original.charAt(i)!=carac_determinado)
{
//Mientras el caracter leido no sea un espacio, lo concatenamos a la cadena copia
//Creo que sabes que += va concatenando los caracteres a copia
copia+=original.charAt(i);
i++;    
}
System.out.print(copia);
  
. . .

Utilizaré esa primera forma que me has dicho 3xcelente. Me funciona de maravilla. Gracias tambien a todos los que me habeis contestado.

Un saludo.
__________________
Si lloras por no poder ver el sol, las lágrimas no te dejarán ver las estrellas.

Con la sangre de un valiente y un rayo de sol, Dios creó una bandera y se la dió al pueblo español.

NIGHTBIRD está desconectado   Responder Citando
Antiguo 14-may-2010, 13:47   #5
Recien llegado
 
Fecha de Ingreso: mayo-2010
Amigos 0
Mensajes: 12
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Wink

De nada...igual si podemos ayudar...lo haremos con gusto, pues algun dia todos necesitamos ayuda tambien.

un Saludo.


3xcelente está desconectado   Responder Citando
Antiguo 14-may-2010, 15:07   #6
Recien llegado
 
Fecha de Ingreso: marzo-2010
Amigos 0
Mensajes: 4
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Predeterminado

De nada. Nos vemos por aquí.
Saludos a todos
stankovic está desconectado   Responder Citando
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks están Activado
Pingbacks están Activado
Refbacks están Activado



Temas Similares
Tema Autor Foro Respuestas Último mensaje
PSD by Char Char Recursos 2 03-abr-2010 20:15
Leer caracter a caracter AmaN Carbide C/C#/C++ 6 17-nov-2009 23:59
[F][bat-deb]PASS-CHAR BY -.: GUERREROHGP :.- guerrerohgp Batch 7 06-ago-2009 19:53
rellenar una tabla con datos! ayuda! dacedos Php 5 11-mar-2007 14:03
Programa en pascal, busca un caracter en una cadena y posiciona el cursor en est jaker_lolo Programación 0 28-may-2005 01:49



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0