Foros del Web » Programando para Internet » Javascript »

cortar frase

Estas en el tema de cortar frase en el foro de Javascript en Foros del Web. Buenas: Quisiera saber si alguien sabe como realizar la siguiente funcion tengo una frase EJ: "hola amigos, gracias por su AYUDA" quiero q la frase ...
  #1 (permalink)  
Antiguo 05/05/2011, 08:48
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 10 años, 4 meses
Puntos: 0
cortar frase

Buenas:
Quisiera saber si alguien sabe como realizar la siguiente funcion
tengo una frase
EJ: "hola amigos, gracias por su AYUDA"
quiero q la frase qede => "hola amigos, gracias por su"
sin la ultima palabra ya tengo como contar palabras espacios en blanco etc pero
si alguien sabe o algo se lo agradeceria
  #2 (permalink)  
Antiguo 05/05/2011, 08:59
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 12 años, 4 meses
Puntos: 1485
Respuesta: cortar frase

buenas,
¿que estas usando para cortar palabras y espacios? probablemente igual lo puedas usar para cortar frase.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 05/05/2011, 10:21
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: cortar frase

estoy en javascript
y por el momento las funciones q e encontrado son
contar palabras
contar espacios en blanco
contar letras
  #4 (permalink)  
Antiguo 05/05/2011, 10:29
 
Fecha de Ingreso: abril-2011
Ubicación: Iquitos, Peru
Mensajes: 113
Antigüedad: 10 años, 5 meses
Puntos: 31
Respuesta: cortar frase

mmm...lo haria en php con substr($mensaje,'posicion inicio mensaje','posicion final mensaje')
  #5 (permalink)  
Antiguo 05/05/2011, 10:48
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 10 años, 4 meses
Puntos: 0
Mensaje Respuesta: cortar frase

bueno muxas gracias creo q tendre q salir a php entonces T_T esq lo queria en javascript
bueno muxas gracias por su ayuda
  #6 (permalink)  
Antiguo 05/05/2011, 10:53
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 12 años, 4 meses
Puntos: 1485
Respuesta: cortar frase

se puede hacer en cualquier lenguaje que maneje string, incluyendo javascript. sin embargo, no esta muy claro lo que quieres: ¿cortar o contar? sea el caso que sea, aca puedes ver una lista de metodos para manipular strings, http://www.w3schools.com/jsref/jsref_obj_string.asp. tambien te puedes valer de expresiones regulares. por otro lado, las funciones que mencionas no se ni cuales son puesto que no son funciones nativas de javascript.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 05/05/2011, 10:58
 
Fecha de Ingreso: abril-2011
Ubicación: Iquitos, Peru
Mensajes: 113
Antigüedad: 10 años, 5 meses
Puntos: 31
Respuesta: cortar frase

depende de que quieras hacer podrias elegir hacerlo en javascript o php
  #8 (permalink)  
Antiguo 05/05/2011, 12:16
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 10 años, 4 meses
Puntos: 0
De acuerdo Respuesta: cortar frase

Muxas gracias por la ayuda.
lo pude realizar aqui coloco el codigo por si alguien
tenia la misma duda q yo

texto = texto.split(' ');
var txt=""
for (i=0; i< texto.length -1; i++) {
txt=txt+" "+texto[i];
}

mi idea es recuperar una frase pero sin la ultima palabra
  #9 (permalink)  
Antiguo 05/05/2011, 12:32
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 12 años, 4 meses
Puntos: 1485
Respuesta: cortar frase

el codigo se puede mejorar sin el uso de un bucle. tomando la misma idea de tu codigo,
Código:
texto = texto.split(' '); // divide la cadena por espacios ;
texto.pop(); // remueve el ultimo elemento del array ;
texto.join(' '); // unir todos los elementos creando un string ;
no obstante, tu propuesta no deja de ser una solucion. solo que imagina si el texto es demasiado largo, el script podria demorar mas tiempo; aunque ese tiempo es medido en milisegundos.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #10 (permalink)  
Antiguo 05/05/2011, 19:31
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 10 años, 4 meses
Puntos: 343
Respuesta: cortar frase

Si es unicamente remover la ultima palabra:

Código Javascript:
Ver original
  1. function removeLastWord(str) {
  2.     return str.replace(/\s.+/, '');
  3. }
  4.  
  5. removeLastWord('hello world'); // hello

Si es recortar un string a los n caracteres, podes usar la implemetnacion de cualquier libreria, por ejemplo Prototype:

Código Javascript:
Ver original
  1. function truncate(str, length, truncation) {
  2.     length = length || 30;
  3.     truncation = '...' || truncation;
  4.    
  5.     return str.length > length ?
  6.         str.slice(0, length - truncation.length) + truncation : String(str);
  7. }
  8.  
  9. truncate('hello world', 10, '...'); // "hello w..."

Despues hay posibilidades más complejas, como cortar a los n caracteres respetando palabras completas, etc.
__________________
blog | @aijoona
  #11 (permalink)  
Antiguo 05/05/2011, 22:24
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 15 años, 9 meses
Puntos: 87
Respuesta: cortar frase

Código Javascript:
Ver original
  1. function removeLastWord(str) {
  2. return str.replace(/\s.+/, '');
  3. }
  4. removeLastWord('hello world'); // hello

Genio! Para operaciones con strings (cadenas de texto) casi siempre lo mejor es usar expresiones regulares pero nunca me he puesto juicioso a estudiarlo.

Y opciones complejas para truncar textos es lo que hay; en un proyecto me toco usar el plugin truncate de jQuery, que respeta etiquetas html aunque por lo que he leido no es 100% fiable pero a mi me sirvio muy bien.
  #12 (permalink)  
Antiguo 05/05/2011, 23:30
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 11 años, 3 meses
Puntos: 310
Respuesta: cortar frase

Por cierto, si haces algo como:
Código Javascript:
Ver original
  1. 'Hola mundo, ¿¡cómo estamos!?'.replace(/\s.+/, ''); // Hola
Así que yo cambiaría tu expresión a:
Cita:
/\s*\b[a-z]+?\b[!\?]*$/
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
  #13 (permalink)  
Antiguo 06/05/2011, 06:45
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 10 años, 4 meses
Puntos: 343
Respuesta: cortar frase

Ciertamente, error mio.

Otra versión:

Código Javascript:
Ver original
  1. function removeLastWord(str) {
  2.     return str.replace(/\s?[^\s]+$/, '');
  3. }
  4. removeLastWord('hello lovely world'); // "hello lovely"
__________________
blog | @aijoona

Última edición por Aijoona; 06/05/2011 a las 13:23

Etiquetas: cortar, frase
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 14:58.