En mi aplicación, puede enviar una dirección de calle y, en la interfaz, la convierto a minúsculas para almacenarla en la base de datos. Ahora, cuando busco los datos, obtengo una dirección que se parece a: "1 unidad de valle agradable"
¿Puedo hacer una expresión regular para poner en mayúscula la primera letra de cada palabra en la cadena?
Objetivo final: "1 Pleasant Valley Dr"
Actualmente estoy usando:
let addrFormat = address?.split(" ")[0] +" " + address?.split(" ")[1].charAt(0).toUpperCase() + address?.split(" ")[1].substring(1) + " " + address?.split(" ")[2].charAt(0).toUpperCase() + address?.split(" ")[2].substring(1);pero lo necesito a escala. digamos que la dirección de la calle es:
1234 Rocky Mountain Road
Entonces tengo un problema con mi código porque no escribe en mayúscula la última palabra.
Simplemente puede escribir en mayúsculas las letras que no están precedidas por un carácter de palabra.
Esto se puede verificar con un límite de palabra \b
let address = "1 pleasant valley drive"; address = address.replace(/\b(\w)/g, (m,g) => g.toUpperCase()) console.log(address);