He reemplazado el problema en reaccionar. Quiero ^ a 25%5E , pero solo puedo reemplazar uno de ^ en la cadena, no puedo reemplazar todos los símbolos ^ a 25%5E . A continuación se muestra mi código de muestra:
var urlStr = "http://localhost:3005/branch-management/edit-branch/?companyName=ABC%20SDN%20BHD%20!!!!%40%40%40%40%23%24%^%26*()&branchName=ABC%20!%40%23%24%^%26*()_"; var newUrlStr = urlStr.replace("^", "25%5E"); console.log(newUrlStr);Resultado del error:
Espero que alguien pueda orientarme sobre cómo solucionar este problema. Gracias.
Debe usar replaceAll que es para reemplazar todas las cadenas coincidentes
var urlStr = "http://localhost:3005/branch-management/edit-branch/?companyName=ABC%20SDN%20BHD%20!!!!%40%40%40%40%23%24%^%26*()&branchName=ABC%20!%40%23%24%^%26*()_"; var newUrlStr = urlStr.replaceAll("^", "25%5E"); console.log(newUrlStr); También puede usar expresiones regulares con /g ( una bandera global ) para tener un comportamiento similar
var urlStr = "http://localhost:3005/branch-management/edit-branch/?companyName=ABC%20SDN%20BHD%20!!!!%40%40%40%40%23%24%^%26*()&branchName=ABC%20!%40%23%24%^%26*()_"; var newUrlStr = urlStr.replace(/\^/g, "25%5E"); console.log(newUrlStr);use regex para encontrar todas las apariciones de ^ y reemplace.
var urlStr = "http://localhost:3005/branch-management/edit-branch/?companyName=ABC%20SDN%20BHD%20!!!!%40%40%40%40%23%24%^%26*()&branchName=ABC%20!%40%23%24%^%26*()_"; var newUrlStr = urlStr.replace(/\^/g, "25%5E"); console.log(newUrlStr);Usa el método replaceAll()
var urlStr = "http://localhost:3005/branch-management/edit-branch/?companyName=ABC%20SDN%20BHD%20!!!!%40%40%40%40%23%24%^%26*()&branchName=ABC%20!%40%23%24%^%26*()_"; var newUrlStr = urlStr.replaceAll("^", "25%5E"); console.log(newUrlStr);el método replace toma un par de caracteres o un par de CharSequence (de los cuales String es una subclase, por lo que felizmente tomará un par de String).
El método replace reemplazará todas las apariciones de un char o CharSequence. Por otro lado, los primeros argumentos de cadena de replaceFirst y replaceAll son expresiones regulares (regex). El uso de la función incorrecta puede provocar errores sutiles.