Skip to main content

Lodash 字符串操作

一、首字母大写 _.capitalize

_.capitalize([string=''])

参数:

string (string): 要大写开头的字符串。

返回:

(string): 返回大写开头的字符串。

将字符串 string 首字母转为大写。

_.capitalize('FRED');
// => 'Fred'

二、首字母小写 _.lowerFirst

_.lowerFirst([string=''])

参数:

string (string): 要转换的字符串。

返回:

(string): 返回转换后的字符串。

转换字符串 string 的首字母为小写。

_.lowerFirst('Fred');
// => 'fred'

_.lowerFirst('FRED');
// => 'fRED'

三、转驼峰 _.camelCase

_.camelCase([string=''])

参数:

string (string): 要转换的字符串。

返回:

(string): 返回驼峰写法的字符串。

将字符串 string 转为驼峰写法

_.camelCase('Foo Bar');
// => 'fooBar'

_.camelCase('--foo-bar--');
// => 'fooBar'

_.camelCase('__FOO_BAR__');
// => 'fooBar'

四、以空格分开并转小写 _.lowerCase

_.lowerCase([string=''])

参数:

string (string): 要转换的字符串。

返回:

(string): 返回转换后的字符串。

将字符串 string 以空格分开并转换为小写。

_.lowerCase('--Foo-Bar--');
// => 'foo bar'

_.lowerCase('fooBar');
// => 'foo bar'

_.lowerCase('__FOO_BAR__');
// => 'foo bar'

五、以连字符分开 _.kebabCase

_.kebabCase([string=''])

转换字符串 stringkebab case.

_.kebabCase('Foo Bar');
// => 'foo-bar'

_.kebabCase('fooBar');
// => 'foo-bar'

_.kebabCase('__FOO_BAR__');
// => 'foo-bar'

六、以下划线分开(snakeCase)

_.snakeCase([string=''])

参数

  • string (string): 要转换的字符串。

返回

  • (string): 返回转换后的字符串。

转换字符串 stringsnake 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 [...]'