2009-12-19 32 views
7

Estoy tratando de determinar qué expresión regular necesitaría tomar un valor y reemplazar espacios con un guión (en Javascript)?Expresión regular para reemplazar espacios con guiones

Entonces, si tuviera Norteamérica, ¿me devolvería Norteamérica?

¿Puedo hacer algo como var foo = bar.replace(' ', '-')?

Respuesta

8

Es mejor utilizar:

var string = "find this and find that".replace(/find/g, "found"); 

para reemplazar todas las ocurrencias.

+0

Perdón por ser tonto, pero ¿cómo podría hacerlo en mi caso? – Rich

+0

var foo = bar.replace (/ \/g, '-'); esto significa, encuentra todas las coincidencias de expresiones regulares - las expresiones regulares en js están rodeadas por '/', con la opción - encuentra todas las 'g', espacios ('\' - escapado) y reemplaza por '-'. –

+0

¿Por qué crees que es mejor usar esto que 'bar.replace ('', '-')'? – tangens

4

Sí, puedes. ¿Por qué no pruebas esto antes de preguntar?

+1

¡Cuidado! Like @ alexander-shvetsov explica en su respuesta, 'bar.replace ('', '-')' solo reemplaza la primera ocurrencia de "". – tangens

2

La mejor fuente de información para expresiones regulares en varios idiomas que he encontrado es Regular-Expressions.info (y he vinculado directamente a la sección de Javascript allí).

En cuanto a su pregunta en particular, sí, puede hacer algo como eso. ¿Lo intentaste?

var before = 'North America'; 
var after = before.replace(/ +/g, '-') 
alert('"' + before + '" becomes "' + after + '"'); 

Utilice el sitio que le mostré para analizar la expresión regular anterior. Observe cómo reemplaza uno o más espacios con un solo guión, según lo solicitó.

Cuestiones relacionadas