JS中将字符串中每个单词的首字母大写化【10bet】

来源:http://www.chinese-glasses.com 作者:Web前端 人气:119 发布时间:2020-03-16
摘要:时间: 2019-11-15阅读: 175标签: 字符串 今天看到一个帖子,处理js中字符串每个单词的首字母大写。 1、For循环 原贴地址: 关于字符串中每个单词的首字母大写化问题 var a = ‘Hi, my name‘

时间: 2019-11-15阅读: 175标签: 字符串

今天看到一个帖子,处理js中字符串每个单词的首字母大写。

1、For循环

原贴地址:关于字符串中每个单词的首字母大写化问题

var a = ‘Hi, my name‘s Han Meimei, a SOFTWARE engineer‘; //for循环function titleCase(s) {var i, ss = s.toLowerCase().split(/s+/);for (i = 0; i  ss.length; i++) {ss[i] = ss[i].slice(0, 1).toUpperCase() + ss[i].slice(1);}return ss.join(‘ ‘);}console.log(titleCase(a));

受到启发,自己跟着改写了几个版本如下,请大家指正。

2、For循环+replace

1、for循环:

//for循环+replacefunction titleCase1(str) {//将字符串分解为数组并将其小写化var convertToArray = str.toLowerCase().split(" ");for (var i = 0; i  convertToArray.length; i++) {var char = convertToArray[i].charAt(0);//使用 replace()方法将数组中的每个首字母大写化convertToArray[i] = convertToArray[i].replace(char, function replace(char) {return char.toUpperCase();});}return convertToArray.join(" ");}console.log(titleCase1(a));
var a = 'Hi, my name's Han Meimei, a SOFTWARE engineer';  

//for循环  
function titleCase(s) {  
    var i, ss = s.toLowerCase().split(/s+/);  
    for (i = 0; i < ss.length; i++) {  
        ss[i] = ss[i].slice(0, 1).toUpperCase() + ss[i].slice(1);  
    }  
    return ss.join(' ');  
}  
console.log(titleCase(a));  

1与2写法差别不大

这个逻辑应该说非常常见。

3、正则+replace

2、for循环+replace:

//正则+replacefunction titleCase2(s) {return s.toLowerCase().replace(/b([w|‘]+)b/g, function(word) {//return word.slice(0, 1).toUpperCase() + word.slice(1);return word.replace(word.charAt(0), word.charAt(0).toUpperCase());});}console.log(titleCase2(a));
//for循环+replace  
function titleCase1(str) {  
    //将字符串分解为数组并将其小写化  
    var convertToArray = str.toLowerCase().split(" ");  

    for (var i = 0; i < convertToArray.length; i++) {  
        var char = convertToArray[i].charAt(0);  
        //使用 replace()方法将数组中的每个首字母大写化  
        convertToArray[i] = convertToArray[i].replace(char, function replace(char) {  
            return char.toUpperCase();  
        });  
    }  
    return convertToArray.join(" ");  
}  
console.log(titleCase1(a));  

思路:用正则将字符串拆分为单词数组,并对每个单词进行首字母大写处理。这里简单的把字母、数字、下划线和单撇号都视为了单词成员。

这个跟第一个差别不大。

10bet,4、数组+map

 

//数组+mapfunction titleCase3(s) {return s.toLowerCase().split(/s+/).map(function(item, index) {return item.slice(0, 1).toUpperCase() + item.slice(1);}).join(‘ ‘);}console.log(titleCase3(a));

3、正则+replace:

思路:根据空白将字符串拆分为数组,对每个单词进行首字母大写处理,并将所有处理后的结果组成一个新数组然后拼接成字符串。

//正则+replace  
function titleCase2(s) {  
    return s.toLowerCase().replace(/b([w|']+)b/g, function(word) {  
        //return word.slice(0, 1).toUpperCase() + word.slice(1);  
        return word.replace(word.charAt(0), word.charAt(0).toUpperCase());  
    });  
}  
console.log(titleCase2(a));  

本文由10bet发布于Web前端,转载请注明出处:JS中将字符串中每个单词的首字母大写化【10bet】

关键词:

上一篇:mount -o loop 回环设备相关【10bet】

下一篇:没有了

最火资讯