字符串首字母大写

给定字符串'aAabBbcCc'
输出 'AaaBbbCcc'

阅读 2.5k
4 个回答

仅仅针对指定字符串

  1. 全部转小写
  2. 首字母记录并转大写,判断后续字母是否相同不同记录转为此字母并大写
str.toUpperCase().replace(/([A-Z])(\1+)/g, (m, p1, p2) => `${p1}${p2.toLowerCase()}`)

测试:
image.png

你给的demo里,上面有4个a,在下面变成了3个,是写错了还是?

如果只是想把字符串排序成大写字母在前面的话:

const str = 'aAabBacCc';
let arr = str.split('');
arr.sort().sort(function (s1, s2) {
    x1 = s1.toUpperCase();
    x2 = s2.toUpperCase();
    if (x1 < x2) {
        return -1;
    }
    if (x1 > x2) {
        return 1;
    }
    return 0;
}); 
const newStr = arr.join('')
const result = [...'aAabBacCc'].map((value, index) => {
    if (index === 0) {
        return value.toUpperCase();
    }
    return value;
}).join('');

console.log(result);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题