¿Cómo reemplazar globalmente una barra diagonal en una cadena de JavaScript?Cómo reemplazar globalmente una barra diagonal en una cadena de JavaScript?
Respuesta
La siguiente haría pero sólo sustituirá a una ocurrencia:
"string".replace('/', 'ForwardSlash');
Para un reemplazo global, o si lo prefiere expresiones regulares, sólo hay que escapar de la barra:
"string".replace(/\//g, 'ForwardSlash');
Usa un literal de expresión regular con el modificador g
, y escapa de la barra diagonal inversa con una barra invertida para que no entre en conflicto con los delimitadores.
var str = 'some // slashes', replacement = '';
var replaced = str.replace(/\//g, replacement);
¿Esto es lo que quieres?
'string with/in it'.replace(/\//g, '\\');
Sin usar regex (aunque solo lo haría si la cadena de búsqueda es de entrada del usuario):
var str = 'Hello/ world/ this has two slashes!';
alert(str.split('/').join(',')); // alerts 'Hello, world, this has two slashes!'
var str = '/questions'; // input: "/questions"
while(str.indexOf('/') != -1){
str = str.replace('/', 'http://stackoverflow.com/');
}
alert(str); // output: "http://stackoverflow.com/questions"
La expresión regular propuesta /\//g
no funcionó para mí; el resto de la línea (//g, replacement);
) se comentó.
Tenga en cuenta que no estoy seguro de cómo el rendimiento de esto compara la solución de división/combinación propuesta. –
... se tropezó con esto ... prueba diferentes IDE usando resaltado de sintaxis más inteligente. No confíe en los colores de su editor de código, pero cree en el poder de los analizadores con estado que integran el código en tiempo de ejecución. – soletan
Esto me ha funcionado al convertir "//"
en solo "/"
.
str.replace(/\/\//g, '/');
Hola una pequeña corrección en el guión anterior .. por encima de la escritura saltarse el primer carácter cuando se muestra la salida.
function stripSlashes(x)
{
var y = "";
for(i = 0; i < x.length; i++)
{
if(x.charAt(i) == "/")
{
y += "";
}
else
{
y+= x.charAt(i);
}
}
return y;
}
Debe ajustar la barra diagonal para evitar problemas con el navegador o // comentar.
str = 'this/that and/if';
var newstr = str.replace(/[/]/g, 'ForwardSlash');
- 1. Reemplazar el carácter "/" de barra diagonal en cadena de JavaScript?
- 2. Cómo incluir una barra diagonal en vi buscar y reemplazar
- 3. Javascript - Reemplazar el carácter de escape en una cadena literal
- 4. ¿Cómo reemplazar la barra diagonal inversa con doble barra diagonal inversa?
- 5. ¿Qué significa la barra diagonal en javascript?
- 6. Eliminar una barra diagonal de una cadena (cambiada del tipo de url) en JAVA
- 7. Escapar barra diagonal en Jackson
- 8. Cómo imprimir una barra diagonal inversa en LaTeX
- 9. Barra diagonal hacia adelante en una expresión regenta de Python
- 10. ¿Cómo reemplazar un apóstrofo en una cadena en Javascript?
- 11. Javascript - cómo reemplazar una subcadena?
- 12. barra diagonal y barra invertida en Ruby
- 13. ¿Cómo reemplazar las comillas en una cadena usando Javascript?
- 14. Por favor, enséñame una buena mnemotécnica para recordar "barra diagonal" vs. "barra diagonal inversa"
- 15. Convertir barra inclinada hacia atrás en barra diagonal en python
- 16. ¿Cómo reemplazar la barra diagonal hacia atrás para barra inclinada usando java?
- 17. NGINX unescapes% 2f a una barra diagonal. ¿Cómo puedo detenerlo?
- 18. expresión regular y barra diagonal
- 19. Si la cadena contiene una barra inclinada
- 20. URL dividida en la barra diagonal final
- 21. Reemplazar varios caracteres en una cadena en javascript
- 22. Reemplazar cadena en javascript array
- 23. Cómo reemplazar caracteres en una cadena java?
- 24. ¿Cómo reemplazar todo # {key} en una cadena?
- 25. URLs de django sin una barra diagonal no redirigir
- 26. Cómo reemplazar caracteres especiales en una cadena?
- 27. Cómo reemplazar ï ¿½ en una cadena
- 28. ¿Cómo se genera una ruta de directorio con separadores de doble barra invertida o barra diagonal?
- 29. Es una barra inclinada ("/") equivalente a una barra diagonal codificada ("% 2F") en la parte de ruta de una URL HTTP
- 30. Escape de barra invertida en cadena - Javascript
El primer fragmento no hace un reemplazo global. No estoy muy seguro de cómo hacer un reemplazo global de la forma no regex. – BoltClock
Ah, claro, no lo intenté con más que una barra. Se podría hacer con '" cadena ".replace ('/', 'ForwardSlash', 'g')' pero ese es un argumento no estándar que funciona solo en Firefox afaik. – Seldaek
'" cadena ".replace (/ \ // g, 'ForwardSlash');' funciona pero elimina el/g de esto y no funciona. – johntrepreneur