El siguiente, aunque redundante, funciona perfectamente:El uso de reemplazar y expresiones regulares para capitalizar la primera letra de cada palabra de una cadena en JavaScript
'leap of, faith'.replace(/([^ \t]+)/g,"$1");
y representa un "salto de fe", pero en la siguiente :
'leap of, faith'.replace(/([^ \t]+)/g,RegExp.$1);
imprime "fe fe fe"
como resultado, cuando deseo de capitalizar primer carácter de cada palabra como:
'leap of, faith'.replace(/([^ \t]+)/g,RegExp.$1.capitalize());
no funciona. Tampoco lo hace,
'leap of, faith'.replace(/([^ \t]+)/g,"$1".capitalize);
porque probablemente capitaliza "$ 1" antes de sustituir el valor del grupo.
Quiero hacer esto en una sola línea, utilizando el método
¿Por qué no utiliza el método '.toUpperCase()'? –
Eso convierte todos los caracteres de una cadena en mayúsculas, y OP quiere convertir solo el primer carácter. – Pointy
Podría usar su respuesta TopUpper con 'str.replace (/ \ b [a-z]/g, function() {return arguments [0] .toUpperCase()})' –