Lodash 标题大小写(每个单词的首字母大写)

2022-08-30 02:22:46

我正在查看lodash文档和其他Stack Overflow问题 - 虽然有几种本机JavaScript方法可以完成此任务,但有没有办法使用纯粹的lodash函数(或至少现有的原型函数)将字符串转换为标题大小写,这样我就不必使用正则表达式或定义新函数?

例如:

This string ShouLD be ALL in title CASe

应该成为

This String Should Be All In Title Case

答案 1

这可以通过对 startCase 进行一小段修改来完成:

_.startCase(_.toLower(str));

console.log(_.startCase(_.toLower("This string ShouLD be ALL in title CASe")));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.13.1/lodash.min.js"></script>

答案 2
_.startCase(_.camelCase(str))

对于非用户生成的文本,这处理的事例数多于接受的答案

> startCase(camelCase('myString'))
'My String'
> startCase(camelCase('my_string'))
'My String'
> startCase(camelCase('MY_STRING'))
'My String'
> startCase(camelCase('my string'))
'My String'
> startCase(camelCase('My string'))
'My String'