2011-04-06 31 views
16

Tengo una cadena var string = "my__st_ri_ng". Quiero reemplazar todos los guiones bajos con un espacio simple y quiero almacenarlo otra variable. Cada guión bajo debe tener un reemplazo de espacio, lo que significa múltiples guiones bajos consecutivos deben tener el número respectivo de espacios vacíos. Quiero que mi variable mencionada sea my<sp><sp>st<sp>ri<sp>ng. ¿Cómo puedo hacer esto usando jquery?Reemplazar los guiones bajos en la cadena

Gracias de antemano ... :)

blasteralfred

Respuesta

30

Lo que necesita es la función de Javascript replace.

var str1 = "my__st_ri_ng"; 
var str2 = str1.replace(/_/g, ' '); 

No es necesario jQuery en absoluto para esta tarea ...

+0

reemplaza sólo el primer subrayado –

+2

Sí, ya estaba en él :). No deberías estar tan borracho por la mañana. – kapa

+0

sí no deberías ... :) .... Funciona bien ... gracias .. –

8

Para reemplazar todas las ocurrencias de _, utilice una expresión regular con la bandera g (global).

"my__st_ri_ng".replace(/_/g, " "); // "my st ri ng" 
+0

¡Pero él quiere hacerlo en jQuery! :) +1 por tener la respuesta correcta de estos 3 –

+0

, sabes que nunca dudaré en escribir un plugin de jQuery para esto con la documentación completa. – Anurag

+0

@Anurag: estamos ansiosos por el complemento. ¡JavaScript vainilla es tan aburrido! '$ (this) .stringReplace ({search: 'my_string', replace: '', replaceAll: true})' ¡es mucho más emocionante! –

0

No es necesario jQuery o incluso expresiones regulares, javasript sólo simple:

var newStr = oldStr.replace('_', ' '); 
+0

Sólo reemplazará al primero. – kapa

+1

@bazmegakapa Hmm ... ¿en serio? Voy a verlo. – vbence

+2

Algo de ayuda para echarle un vistazo: http://jsfiddle.net/bazmegakapa/9R78x/ :) – kapa

1

probar este ...

var oldStr = 'I_told_you'; 

var newStr = oldStr.split('_').join(' '); 
Cuestiones relacionadas