javascript - ultimo - Reemplace todos los espacios en una cadena con ''+''
reemplazar caracteres javascript (9)
PROBLEMA DEL ESPACIO NO ROMPETIVO
En algunos navegadores
(MSIE "como de costumbre" ;-))
reemplazar el espacio en la cadena ignora el espacio de no ruptura (el código de 160 caracteres).
Siempre se debe reemplazar así:
myString.replace(/[ /u00A0]/, myReplaceString)
Muy bonita explicación detallada:
http://www.adamkoch.com/2009/07/25/white-space-and-character-160/
Esta pregunta ya tiene una respuesta aquí:
Tengo una cadena que contiene múltiples espacios. Quiero reemplazar estos con un símbolo más. Pensé que podría usar
var str = ''a b c'';
var replaced = str.replace('' '', ''+'');
pero solo reemplaza la primera ocurrencia. ¿Cómo puedo conseguir que reemplace todas las ocurrencias?
Aquí hay una alternativa que no requiere expresiones regulares:
var str = ''a b c'';
var replaced = str.split('' '').join(''+'');
Haga esto recursivamente:
public String replaceSpace(String s){
if (s.length() < 2) {
if(s.equals(" "))
return "+";
else
return s;
}
if (s.charAt(0) == '' '')
return "+" + replaceSpace(s.substring(1));
else
return s.substring(0, 1) + replaceSpace(s.substring(1));
}
Necesitas buscar alguna opción replaceAll
str = str.replace(/ /g, "+");
Esta es una forma de expresión regular de reemplazar todo.
function ReplaceAll(Source, stringToFind, stringToReplace) {
var temp = Source;
var index = temp.indexOf(stringToFind);
while (index != -1) {
temp = temp.replace(stringToFind, stringToReplace);
index = temp.indexOf(stringToFind);
}
return temp;
}
String.prototype.ReplaceAll = function (stringToFind, stringToReplace) {
var temp = this;
var index = temp.indexOf(stringToFind);
while (index != -1) {
temp = temp.replace(stringToFind, stringToReplace);
index = temp.indexOf(stringToFind);
}
return temp;
};
Necesitas la opción /g
(global), como esta:
var replaced = str.replace(/ /g, ''+'');
Puedes darle una oportunidad aquí . A diferencia de la mayoría de los otros idiomas, JavaScript, de forma predeterminada, solo reemplaza la primera aparición.
También puedes hacerlo como
str = str.replace(//s/g, "+");
Eche un vistazo al violín: http://jsfiddle.net/aC5ZW/
Usa una expresión regular con el modificador g
:
var replaced = str.replace(/ /g, ''+'');
De usar expresiones regulares con JavaScript y ActionScript :
/ g habilita la coincidencia "global". Cuando use el método replace (), especifique este modificador para reemplazar todas las coincidencias, en lugar de solo la primera.
Utilice la búsqueda global en la cadena. bandera g
str.replace(//s+/g, ''+'');
fuente: reemplazar todas las funciones
var str = ''a b c'';
var replaced = str.replace(//s/g, ''+'');