【问题标题】:Capitalize first letter of a string using Angular or typescript [duplicate]使用Angular或打字稿将字符串的第一个字母大写[重复]
【发布时间】:2018-08-24 02:05:44
【问题描述】:

如何使用 Angular 或 typescript 将字符串的首字母大写?

【问题讨论】:

标签: angular capitalize


【解决方案1】:
function titleCaseWord(word: string) {
  if (!word) return word;
  return word[0].toUpperCase() + word.substr(1).toLowerCase();
}

您也可以在模板中使用 TitleCasePipe

一些组件模板:

{{value |titlecase}}

【讨论】:

  • 请注意,TitleCasePipe 会将字符串中每个单词的首字母大写,而不仅仅是整个字符串的首字母,所以TitleCasePipe 不是严格来说是所要求的选项。
  • 这不应该是公认的答案。就像 Alex 提到的那样,TitleCasePipe 将大写单词。下面的答案应该被接受。另一种方法是自定义管道。
  • ⚠️ 请谨慎使用此解决方案,因为在某些语言(如西班牙语)中,当您有问题字符串时,请以字符 ¿Esto es una pregunta? 开头。所以,当在西班牙语问题中应用这个算法时,不能正常工作。我添加这个:if (value[0] === '¡' || value[0] === '¿') { return ( value[0] + value[1].toUpperCase() + value.substr(2).toLowerCase() ); }
【解决方案2】:
 let str:string = 'hello';
 str = str[0].toUpperCase() + str.slice(1);

【讨论】:

    【解决方案3】:
    var str = 'santosh';
    str = str ? str.charAt(0).toUpperCase() + str.substr(1).toLowerCase() : '';
    

    【讨论】:

    • 感谢您提供此代码 sn-p,它可能会提供一些有限的短期帮助。一个正确的解释would greatly improve 它的长期价值通过展示为什么这是一个很好的解决问题的方法,并将使它对未来有其他类似问题的读者更有用。请edit您的回答添加一些解释,包括您所做的假设,例如无法正常工作的语言。
    • 是的,当然,感谢您的建议
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 2017-03-20
    • 2014-11-26
    • 1970-01-01
    • 2016-09-02
    • 2013-06-11
    相关资源
    最近更新 更多