¿Cómo convierto cadenas con guiones bajos en espacios y las convierto en mayúsculas y minúsculas?
CÓDIGO
const string = sample_orders console.log(string.replace(/_/g, ' '))Rendimiento esperado
Sample OrdersEsta función debería hacer el trabajo:
function humanize(str) { var i, frags = str.split('_'); for (i=0; i<frags.length; i++) { frags[i] = frags[i].charAt(0).toUpperCase() + frags[i].slice(1); } return frags.join(' '); } humanize('sample_orders'); // > Sample Orders.replace reemplaza solo la primera aparición de la entrada de destino. Para reemplazar todas las ocurrencias, use .replaceAll .
var string = 'sample_orders' string = string.replaceAll('_', ' ') La conversión adicional al caso adecuado podría lograrse a través regEx
string = string.replace(/(^\w|\s\w)/g, firstCharOfWord => firstCharOfWord.toUpperCase()); Dónde:
function formatString(string){ return string.replaceAll('_', ' ').replaceAll(/(^\w|\s\w)/g, firstCharOfWord => firstCharOfWord.toUpperCase()); } let formattedString = formatString('sample_orders') console.log(formattedString) //Sample Orders Advertencia : es posible que encuentre un error que diga que .replaceAll no es una función si está ejecutando en un navegador antiguo o en un entorno de tiempo de ejecución. El método .replaceAll se agregó en ES2021/ES12. La mejor solución para ejecutar tales funcionalidades en versiones anteriores de JS es proporcionar soporte nativo para versiones anteriores que no admiten métodos o características recién agregados ( .replaceAll ) en este caso.
function formatString(string){ return string.replace(/_/g, ' ').replace(/(^\w|\s\w)/g, firstCharOfWord => firstCharOfWord.toUpperCase()); } let formattedString = formatString('sample_orders') console.log(formattedString) //Sample Orders Tenga en cuenta que estamos usando el método de replace con expresiones regulares en un ámbito global. Esto también podría usarse en casos en los que las cadenas no contengan guiones bajos.