字符串相关代码片段

大写每个单词的首字母

使用 replace() 来匹配每个单词的第一个字符,并使用 toUpperCase() 来将其大写。

const capitalizeEveryWord = str => str.replace(/\b[a-z]/g, char => char.toUpperCase());
capitalizeEveryWord('hello world!') // 'Hello World!'

首字母大写

使用解构和 toUpperCase() 大写第一个字母,...rest 第一个字母后获得字符数组,然后 Array.join('')再次使它成为一个字符串。 省略 lowerRest 参数以保持字符串的剩余部分不变,或者将其设置为 true 这会将字符串的剩余部分转换为小写。

const capitalize = ([first,...rest], lowerRest = false) =>
  first.toUpperCase() + (lowerRest ? rest.join('').toLowerCase() : rest.join(''));
capitalize('myName') // 'MyName'
capitalize('myName', true) // 'Myname'

检查回文

使用 toLowerCase() 转换字符串,并使用 replace() 从中删除非字母数字字符。 然后,在将其转换为 tolowerCase() 之后,将 split('') 为单独的字符,reverse() ,join('')并与原始非反转字符串进行比较。

const palindrome = str => {
  const s = str.toLowerCase().replace(/[\W_]/g,'');
  return s === s.split('').reverse().join('');
}
palindrome('tacocat') // true
palindrome('hello') // false

如果不限英文字母:

const palindrome = str => {
  return str === str.split('').reverse().join('');
}
palindrome('tac哈哈o哈哈cat') // true
palindrome('hel哈哈 lo') // false

反转一个字符串

使用数组解构和 Array.reverse() 来反转字符串中字符的顺序。使用 join('')合并字符串。

const reverseString = str => [...str].reverse().join('');
reverseString('foobar') // 'raboof'

按字母顺序排列字符串

使用 split('') 分割字符串,通过 localeCompare() 排序字符串 Array.sort() ,使用 join('') 进行重组。

const sortCharactersInString = str =>
  str.split('').sort((a, b) => a.localeCompare(b)).join('');
sortCharactersInString('cabbage') // 'aabbceg'

截断一个字符串

确定字符串的 length 是否大于 num。 返回截断所需长度的字符串,用 ... 附加到结尾或原始字符串。

const truncate = (str, num) =>
  str.length > num ? str.slice(0, num > 3 ? num - 3 : num) + '...' : str;
truncate('boomerang', 7) // 'boom...'

MIT Licensed | Copyright © 2018-present 滇ICP备16006294号

Design by Quanzaiyu | Power by VuePress