Foros del Web » Programando para Internet » Javascript »

string

Estas en el tema de string en el foro de Javascript en Foros del Web. hola hice este codigo en java script lo que debe hacer es que al ingresar una cadena debe separar cada palabra con un renglon por ...
  #1 (permalink)  
Antiguo 19/04/2011, 23:07
 
Fecha de Ingreso: abril-2011
Mensajes: 76
Antigüedad: 13 años
Puntos: 1
string

hola hice este codigo en java script lo que debe hacer es que al ingresar una cadena debe separar cada palabra con un renglon por ejemplo si escribo hola mundo debe regresar
hola
mundo
este es el codigo me pueden decir en que estoy mal?
<html>
<body>
<script language="javascript">
var frase2;
var posicion=0;
var inicio=0;
var x=0;
var frase=prompt("escribe algo", "");
for (x=0;x<=frase.length;x++);
{
if (frase[x]==" "){posicion=x;}
inicio=frase.length-posicion;
frase2=frase.substring(inicio,posicion);
document.write(frase2+"<br>");
}
</script>
</body>
</html>
  #2 (permalink)  
Antiguo 19/04/2011, 23:47
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: string

buenas,
hay mejores formas de realizar este tipo de tareas. te recomiendo que investigues sobre expresiones regulares y los metodos que lo usan. no obstante, seguire tus pasos. o mas sencillo, investiga por los metodos split y join.

parece que vuelves a mostrar los mismos errores que en tus inicios en el foro. especificamente me refiero al punto y coma despues de la declaracion del bucle for. las sentencias de flujo de control no requieren el uso de punto y coma para indicar terminacion de delcaracion. de hecho, si lo usas el interprete entendera otra cosa. un punto y coma seguido de un control de flujo indica que el cuerpo del control es una sentencia vacia. esto porque javascript permite indicar una sentencia como el cuerpo de un control.
Código:
for(init; condition; iteration) ;
// es lo mismo que ;

for(init; condition; iteration){
// cuerpo vacio ;
}
de todos modos, ahi no solo reside el problema. parte del problema tambien esta en el condicional if. la extraccion debe ocurrir cada vez que se encuentre un espacio. por tanto, el codigo debe ir dentro del condicional.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 20/04/2011 a las 00:10 Razón: ...
  #3 (permalink)  
Antiguo 20/04/2011, 05:05
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: string

Como te indica @ZK, es mejor hacerlo con regexps:
Código Javascript:
Ver original
  1. str = str.replace(/\s/g, '\n');
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #4 (permalink)  
Antiguo 20/04/2011, 11:00
 
Fecha de Ingreso: abril-2011
Mensajes: 76
Antigüedad: 13 años
Puntos: 1
Respuesta: string

hola hice algunas modificasiones en mi codigo pero ahora solo marca la ultima palabra cuando lo que debe hacer es que si esccribo hola mundo debe regresar
hola
mundo
<html>
<body>
<script language="javascript">
var frase2;
var posicion=0;
var inicio=0;
var x=0;
var frase=prompt("escribe algo", "");
for (x=0;x<=frase.length;x++)
{
if (x>=2){inicio=frase.length-posicion;}
if(x<=1){frase2=frase.substring(0,posicion); document.write(frase2+"<br>");}
if (frase[x]==" "){posicion=x;
frase2=frase.substring(inicio,posicion);
document.write(frase2+"<br>");
}}
</script>
</body>
</html>

Etiquetas: string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:07.