54

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

3个答案

重置为默认值
93
函数titleCaseWord(word:string){if(!word)返回字;return word[0].toUpperCase()+word.substr(1).toLowerBase();}

您也可以在模板中使用标题CasePipe

某些组件模板:

{{value|titlecase}}
9
  • 32
    请注意标题CasePipe将大写的第一个字母每个字在字符串中,不只是整个字符串的第一个字母,所以标题CasePipe严格来说,这并不是我们所要求的选项。 2018年11月6日2:13
  • 7
    这不应该是公认的答案。就像亚历克斯提到的,TitleCasePipe将每个单词大写。应接受以下答案。另一种选择是自定义管道。 2019年1月28日17:12
  • 6
    ⚠️ 小心这个解决方案,因为在某些语言(如西班牙语)中,当您有问题字符串时,请以字符开头?Esto es una pregunta公司?因此,在西班牙语问题中应用此算法时,无法正常工作。我补充道:if(value[0]===‘’||value[0]==‘?’){return(value[0]+value[1].toUpperCase()+value.subster(2).toLowerCase(());} 2020年10月19日11:21
  • @MatiasdeAndrea我想知道到本地UpperCase()会有帮助的 2022年8月5日5:59
  • 1
    这是一个很好的问题@MichaelMurphy。我不测试这个 2022年8月5日9:43
22
let str:string='hello';str=str[0].toUpperCase()+str.slice(1);
2
var str=“santosh”;str=str?str.charAt(0).toUpperCase()+str.substr(1).toLowerCase(”):“”;
2
  • 1
    感谢您提供此代码片段,它可能会提供一些有限的短期帮助。正确的解释将大大改善通过显示其长期价值为什么?这是这个问题的一个很好的解决方案,对于其他类似问题的读者来说,它会更加有用。拜托编辑您的回答添加了一些解释,包括您所做的假设,例如它不能正确工作的语言。 2018年3月15日14:29
  • 是的当然,谢谢你的建议 2018年3月15日14:31

不是你想要的答案吗?浏览标记的其他问题问你自己的问题