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

例如:

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


当前回答

为了仅仅资本化第一封信,并将其余的字符串下载案例:

function capitalize(str) {
     var splittedEnter = str.split(" ");
     var capitalized;
     var capitalizedResult;
     for (var i = 0 ; i < splittedEnter.length ; i++){
         capitalized = splittedEnter[i].charAt(0).toUpperCase();
         splittedEnter[i] = capitalized + splittedEnter[i].substr(1).toLowerCase();
    }
    return splittedEnter.join(" ");
}

capitalize("tHiS wiLL be alL CapiTaLiZED.");

结果将是:

这一切都将被资本化。

其他回答

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

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

使用 Tailwind CSS

<p class="capitalize">The quick brown fox</p>

此分類上一篇: Quick Brown Fox

(src: https://tailwindcss.com/docs/text-transform#transforming-text)

您可以使用下面的常规表达式:

return string1.toLowerCase().replace(/^[a-zA-z]|\s(.)/ig, L => L.toUpperCase());

关于TypeScript

  capitalizeFirstLetter(string) {
    return string.charAt(0).toUpperCase() + string.slice(1);
  }

这是一个简单的

const upper = lower.replace(/^\w/, c => c.toUpperCase());