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