使用Angular或打字稿将字符串的第一个字母大写[重复]

Posted

技术标签:

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

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

【问题讨论】:

查看此[参考链接][博客]。会有解决办法的。 [博客]:***.com/questions/30207272/… 这不是重复的。管道是做到这一点的正确角度方式 【参考方案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您的回答添加一些解释,包括您所做的假设,例如无法正常工作的语言。 是的,当然,感谢您的建议

以上是关于使用Angular或打字稿将字符串的第一个字母大写[重复]的主要内容,如果未能解决你的问题,请参考以下文章

AngularJs中字符串的第一个字母大写

使用打字稿将其他菜单元素插入到特定位置

我可以使用打字稿将对象键限制为枚举值吗?

在大写字母或数字上拆分字符串

将包含_或-的字符串最开始的字母小写,其余的第一个字母大写

为啥打字稿将联合中的属性标记为不存在?