JavaScript bot的自动小写

时间:2014-02-10 21:37:59

标签: javascript

我正在尝试制作一个将所有大写字母转换为小写的机器人。我想以有效的方式验证我是否正确行事。

var temp = /^[a-z][^a-z]*$/;
fb.onMessage(function (msg) {
    var parts = msg['m'].split(" ");
    var cleaned = [];
    for (var i = 0; i < parts.length; i++) {
        var word = parts[i];
        if (temp.test(word)) {
            cleaned.push(word);
        } else {
            cleaned.push(word.toLowerCase());
        }
    }
    msg['m'] = cleaned.join(' ');

    return msg;
});

2 个答案:

答案 0 :(得分:1)

无需拆分字符串,只需在完整字符串上使用.toLowerCase()即可。 toLowerCase并不关心已经是小写的部分,也不关心不是字母字符的部分。

答案 1 :(得分:0)

邮件是否非常冗长?

如果没有更多,那么在没有先检查模式的情况下简单地小写所有单词可能同样有效。此外,没有理由在事实之后小写单词。

如果我正在阅读你在那里写的内容,那么你正在分裂,检查它是否已经是小写,如果没有,则将其缩小,然后将所有单词重新添加到一起。只需一次完成就可以更加简单快捷。

fb.onMessage(function (msg) {
    msg.m = msg.m.toLowerCase().replace(/\s+/g, '');
    return msg;
});

我扔了一个replace(/\s+/g, ''),它会将任何多个空格部分折叠到一个空格。不确定这是否是您尝试上述尝试的一部分。如果您不关心这一点,请删除事件更高效命令的替换。