¿Cómo reemplazar globalmente una barra diagonal en una cadena de JavaScript?
javascript
Babiker
fuente
fuente
"string".replace('/', 'ForwardSlash', 'g')
pero ese es un argumento no estándar que solo funciona en Firefox afaik."string".replace(/\//g, 'ForwardSlash');
funciona pero elimina el / g de esto y no funciona./
. Sin la g solo reemplaza una instancia. Y si elimina/g
, rompe la expresión regular por completo ya que el último / es el delimitador final.Use un literal regex con el
g
modificador y escape de la barra diagonal con una barra diagonal inversa para que no choque con los delimitadores.fuente
Sin usar regex (aunque solo haría esto si la cadena de búsqueda es entrada del usuario):
fuente
¿Es esto lo que quieres?
fuente
Esto me ha funcionado para convertirme
"//"
en justo"/"
.fuente
Debe ajustar la barra diagonal para evitar problemas en el navegador o // comentar.
fuente
Hola, una pequeña corrección en la secuencia de comandos anterior ... la secuencia de comandos anterior omite el primer carácter al mostrar la salida.
fuente
La expresión regular propuesta
/\//g
no funcionó para mí; el resto de la línea (//g, replacement);
) fue comentado.fuente
Esta es la idea de Christopher Lincolns pero con el código correcto:
Ejemplo de uso:
El reemplazo global de cadenas de Javascript es excesivamente complicado. Esta función resuelve ese problema. Probablemente haya un pequeño impacto en el rendimiento, pero estoy seguro de que es insignificante.
Heres una función alternativa , se ve mucho más limpia, pero en promedio es de 25 a 20 por ciento más lenta que la función anterior:
fuente
Puedes crear un
RegExp
objeto para hacerlo un poco más legibleSi desea reemplazarlos todos, agregue la
"g"
banderafuente