【js编程】将这段英文中每个单词的首字母都变成大写(你能写出几种)

164 阅读1分钟

eg:hello world,javascript。输出Hello World, Javascript

第一种:

// 如果单词与单词之间出现多余空格,使用正则把多个空格替换成单个空格,然后在使用split替换

const changStr = (str)=>{
 return str.trim().replace(/\s+/g,' ').split('    ').map(word=>word[0].toUpperCase()+word.slice(1)).join(' ')
}
let str = changStr(`hello world,javascript.`)

console.log(str)

第二种:

// 使用正则(零宽断言),需要转成大写的字母前面都有一个空格(第一个字母除外)

const changStr = (str)=>{
 let newStr = ' '+ str.trim()
  return newStr.replace(/(?<=\s+)[a-z]+/g, function(s){
    return s[0].toUpperCase()+ s.slice(1)
 })
}

let str = changStr(`hello world,javascript.`)

第三种:

// 和第二种逻辑类似,只是换了正则表达式,其中/b 匹配一个单词边界

const changStr = (str)=>{
   return str.replace(/\b[a-z]/g, function(s){
    return s.toUpperCase()
  })
}
let str = changStr(`hello everyone, this is our first question topic.`)

第四种:css的属性 text-transform: capitalize