如果是字母,我该如何创建一条字符的第一个字符,但不会改变其他字符中的任何一个字符的案例?

例如:

“这是一个测试” → “这是一个测试” “埃菲尔塔” → “埃菲尔塔” “/index.html” → “/index.html”


当前回答

我更喜欢使用一个以功能方式为导向的解决方案(例如地图序列):

Array.from(str).map((letter, i) => i === 0 ? letter.toUpperCase() : letter ).join('');

其他回答

只是因为这是一个真正的单线,我会包括这个答案. 这是一个基于ES6的交叉线单线。

let setStringName = 'the Eiffel Tower';
setStringName = `${setStringName[0].toUpperCase()}${setStringName.substring(1)}`;
var a = "this is a test"
console.log(a.replace(/^[a-z]/g, txt => txt.toUpperCase()));

优雅

const capitalize = ([firstChar, ...rest]) => `${firstChar.toUpperCase()}${rest.join('')}`;

在这里,单行代码存档字母第一字母资本使用JS

yourstring?.charAt(0)?.toUpperCase() + yourstring?.slice(1).toLocaleLowerCase()

我知道这是一个古老的问题,有很多答案,但这里是我的快速剪辑。

const capitalize = (str) => str?.split('').map( (e, i) => i === 0 ? e.toUpperCase() : e ).join('')