题解 | #字符串排序#
字符串排序
http://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
用正则找到所有的大小写字母
然后进行排序
然后匹配原来的字符串中的大小写字母
按照顺序替换即可
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)
}