题解 | #字符串排序# JS Node一楼加注释便于理解

字符串排序

https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584

const readline = require("readline");

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});

rl.on("line", function (line) {
    // 字符串切片,同split('')
    let res = Array.from(line);
    // 过滤其他字符,将字母原地排序
    let lineCopy = Array.from(line.replace(/[^a-z]/gim, "")).sort((a, b) => {
        let x = a.toLowerCase();
        let y = b.toLowerCase();
        return x < y ? -1 : x > y ? 1 : 0;
    });
    // 将排序好的字母替换原字母,字符则不替换
    res.forEach((word, index) => {
        if (/[a-z]/gim.test(word)) {
            res[index] = lineCopy[0];
            lineCopy.shift();
        }
    });
    console.log(res.join(""));
});

/* 关于正则的补充 */
// g(全局搜索出现的所有 pattern)
// i(忽略大小写)
// m(多行搜索)
// ^匹配除了 [...] 中字符的所有字符,例如 [^aeiou] 匹配字符串 "google runoob taobao" 中除了 e o u a 字母的所有字母。

全部评论

相关推荐

现在才开始投还有可能吗😭😭😭
牛客621925249号:开秋招了已经
点赞 评论 收藏
分享
秋盈丶:后续:我在宿舍群里和大学同学分享了这事儿,我好兄弟气不过把他挂到某脉上了,10w+阅读量几百条评论,直接干成精品贴子,爽
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务