用正则找到所有的大小写字母

然后进行排序

然后匹配原来的字符串中的大小写字母

按照顺序替换即可

let line

while(line = readline()){
    let arr = line.split('');
    let reg = /[a-z]/ig
    let matchArr = line.match(reg);
    matchArr = matchArr.reduce((list,item)=>{
        let index = list.findIndex((i)=>i.toUpperCase() > item.toUpperCase());
        index > -1 ? list.splice(index,0,item) : list.push(item)
        return list
    },[]);
    
    let str = ''
    let num = 0
    let reg1 = /[a-z]|[A-Z]/
    for(let i = 0;i<arr.length;i++){
        if(reg1.test(arr[i])){
            str+=matchArr[num]
            num++
        }else{
            str+=arr[i]
        }
    }
    console.log(str)
}