2011-10-05 119 views
5

Esto podría ser una pregunta simple, pero, ¿cómo separar palabras ... por ejemplo¿Cómo dividir las palabras usando javascript

a = "even, test" 

he utilizado .split para separar el texto con el espacio.

por lo que el resultado se produjo es como

a = "even," 
b = "test" 

Pero, ¿cómo puedo eliminar la 'coma' aquí?

Pero en algunas condiciones podría obtener una "prueba uniforme" y en algunas condiciones podría obtener "incluso, probar". Todos son dinámicos, ¿cómo lo verifico para ambos?

Gracias

+1

a.split tratado ("")? – sunn0

Respuesta

0

Hej Harry

si la coma es el separador puede llamar ruptura con la coma

Ex:

var newColls = myString.split(","); 

y divididos con el espacio.

GL

1
a.split(',') 

o

var re = /\s*,\s*/ 
var newA = a.split(re); 
10

En primer lugar, la función no es split() jQuery - es puro Javascript.

¿Has intentado dividir con una coma y un espacio? Eso habría funcionado muy bien en su caso:

var result = input.split(', '); 

Para escisiones más complejas, puede utilizar el patrón de expresiones regulares para permitir que comas múltiple o espacios entre los dos campos:

var result = input.split(/[, ]+/); 

pero probablemente no necesitas ir tan lejos en tu caso.

1

sólo tiene que utilizar este código:

var a = "even, test"; 
var words = a.split(", "); 
+1

Gracias, pero en algunas condiciones podría obtener "incluso una prueba" y en algunas condiciones podría obtener "incluso, probar". Entonces, ¿cómo lo verifico para ambos? – Harry

+1

La respuesta le ha sido dada por @Spudley. Utilice la expresión regular: a.split (/ [,] + /); –

+0

@Harry: Además, con el mío, utiliza cualquier texto que no sea una palabra como separador (solo extrae palabras). – ESL

0

Creo que podría hacerlo de esta manera:

var a= 'even,' 
var newA = a.slice(0, -1) 

se eliminará el último carácter de una cadena dada.

Y para comprobar si la cadena contiene una coma, lo haría el siguiente:

if (a.indexOf(",") >= 0){ 
    //contains a comma 
} else { 
    //no comma 
} 

Soy un principiante Javascript, por lo que probablemente no es la mejor manera de hacerlo, pero sin embargo funciona.

4

Creo que es mejor usar algo como esto:

text.match(/[a-z'\-]+/gi); 

Ejemplo:

var e=function() 
 
{ 
 
    var r=document.getElementById('r'); 
 
    var x=document.getElementById('t').value.match(/[a-z'\-]+/gi); 
 
    for(var i=0;i<x.length;i++) 
 
    { 
 
    var li=document.createElement('li'); 
 
    li.innerText=x[i]; 
 
    r.appendChild(li); 
 
    } 
 
}
<div style="float:right;width:18%"> 
 
<ol id="r" style="display:block;width:auto;border:1px inner;overflow:scroll;height:8em;max-height:10em;"></ol> 
 
<button onclick="e()">Extract words!</button> 
 
</div> 
 
<textarea id="t" style="width:70%;height:12em">even, test; spider-man 
 

 
But saying o'er what I have said before: 
 
My child is yet a stranger in the world; 
 
She hath not seen the change of fourteen years, 
 
Let two more summers wither in their pride, 
 
Ere we may think her ripe to be a bride. 
 

 
—Shakespeare, William. The Tragedy of Romeo and Juliet</textarea>

Cuestiones relacionadas