Lodash 字符串操作
一、首字母大写 _.capitalize
参数:
string
(string): 要大写开头的字符串。
返回:
(string): 返回大写开头的字符串。
将字符串 string
首字母转为大写。
_.capitalize('FRED');
// => 'Fred'
二、首字母小写 _.lowerFirst
参数:
string
(string): 要转换的字符串。
返回:
(string): 返回转换后的字符串。
转换字符串 string
的首字母为小写。
_.lowerFirst('Fred');
// => 'fred'
_.lowerFirst('FRED');
// => 'fRED'
三、转驼峰 _.camelCase
参数:
string
(string): 要转换的字符串。
返回:
(string): 返回驼峰写法的字符串。
将字符串 string
转为驼峰写法。
_.camelCase('Foo Bar');
// => 'fooBar'
_.camelCase('--foo-bar--');
// => 'fooBar'
_.camelCase('__FOO_BAR__');
// => 'fooBar'
四、以空格分开并转小写 _.lowerCase
参数:
string
(string): 要转换的字符串。
返回:
(string): 返回转换后的字符串。
将字符串 string
以空格分开并转换为小写。
_.lowerCase('--Foo-Bar--');
// => 'foo bar'
_.lowerCase('fooBar');
// => 'foo bar'
_.lowerCase('__FOO_BAR__');
// => 'foo bar'
五、以连字符分开 _.kebabCase
_.kebabCase([string=''])
转换字符串 string
为kebab case.
_.kebabCase('Foo Bar');
// => 'foo-bar'
_.kebabCase('fooBar');
// => 'foo-bar'
_.kebabCase('__FOO_BAR__');
// => 'foo-bar'
六、以下划线分开(snakeCase)
_.snakeCase([string=''])
参数
string
(string): 要转换的字符串。返回
- (string): 返回转换后的字符串。
转换字符串 string
为 snake case.
_.snakeCase('Foo Bar');
// => 'foo_bar'
_.snakeCase('fooBar');
// => 'foo_bar'
_.snakeCase('--FOO-BAR--');
// => 'foo_bar'
七、字符串左右填充 _.pad
_.pad([string=''], [length=0], [chars=' '])
参数
- string (string): 要填充的字符串。
- length (number): 填充的长度,默认为 0。
- chars (string): 填充字符,默认为 ' '。
返回
- (string): 返回填充后的字符串。
如果 string
字符串长度小于 length
,则从左侧和右侧填充字符。如果没法平均分配,则截断超出的长度。
_.pad('abc', 8);
// => ' abc '
_.pad('abc', 8, '_-');
// => '_-abc_-_'
_.pad('abc', 3);
// => 'abc'
八、重复 N 次字符串 _.repeat
_.repeat([string=''], [n=1])
参数
- string (string): 要重复的字符串。
- n (number): 重复的次数,默认为 1。
返回
- (string): 返回重复的字符串。
重复 N 次给定字符串。
_.repeat('*', 3);
// => '***'
_.repeat('abc', 2);
// => 'abcabc'
_.repeat('abc', 0);
// => ''
九、检测尾部字符 _.endsWith
_.endsWith([string=''], [target], [position=string.length])
参数
string
(string): 要检索的字符串。target
(string): 要检索字符。position
(number): 检索的位置。返回
- (boolean): 如果字符串string以target字符串结尾,那么返回 true,否则返回 false。
检查字符串 string
是否以给定的 target
字符串结尾。
_.endsWith('abc', 'c');
// => true
_.endsWith('abc', 'b');
// => false
_.endsWith('abc', 'b', 2);
// => true
十、拆分词语为数组 _.words
_.words([string=''], [pattern])
参数
string
(string): 要拆分的字符串。pattern
(RegExp|string): 匹配模式。返回
- (Array): 返回拆分 string 后的数组。
拆分字符串 string
中的词为数组。
_.words('fred, barney, & pebbles');
// => ['fred', 'barney', 'pebbles']
_.words('fred, barney, & pebbles', /[^, ]+/g);
// => ['fred', 'barney', '&', 'pebbles']
十一、截断字符串且指定后缀 _.truncate
_.truncate([string=''], [options=])
参数
string
(string): 要截断的字符串。options
(Object): 选项对象。options.length
(number): 允许的最大长度,默认为 30。options.omission
(string): 超出后的代替字符,默认为 '...'。options.separator
(RegExp|string): 截断点。返回
- (string): Returns the truncated string.
截断 string
字符串,如果字符串超出了限定的最大值。被截断的字符串后面会以 omission
代替,omission
默认是 "..."。
_.truncate('hi-diddly-ho there, neighborino');
// => 'hi-diddly-ho there, neighbo...'
_.truncate('hi-diddly-ho there, neighborino', {
'length': 24,
'separator': ' '
});
// => 'hi-diddly-ho there,...'
_.truncate('hi-diddly-ho there, neighborino', {
'length': 24,
'separator': /,? +/
});
// => 'hi-diddly-ho there...'
_.truncate('hi-diddly-ho there, neighborino', {
'omission': ' [...]'
});
// => 'hi-diddly-ho there, neig [...]'