【发布时间】:2021-01-21 16:49:39
【问题描述】:
我只是想把头发拉到这里。我有一个我制作(找到并修改)的函数来制作文本标题大小写。我之所以使用这个函数而不是仅仅将每个单词的第一个字母大写是因为有很多单词不应该大写。
我在这里的代码有效。现在我需要的只是将每个句子的第一个字符大写。因此,在函数完成后,创建一个新函数,将新字符串的第一个字符大写。我只是不知道如何在他让我发疯的情况下做到这一点。非常感谢您的所有帮助,我很感激。
var TITLECASE = function (str, glue) {
glue = (glue) ? glue : ['a', 'and', 'as', 'at', 'but', 'by', 'for', 'if', 'in', 'is', 'it', 'my', 'nor', 'of', 'off', 'on', 'or', 'per', 'so', 'the', 'this', 'to', 'up', 'via', 'with', 'yet'];
return str.replace(/(\w)(\w*)/g, function (_, i, r) {
var j = i.toUpperCase() + (r != null ? r : "");
return (glue.indexOf(j.toLowerCase()) < 0) ? j : j.toLowerCase();
});
};
【问题讨论】:
-
你对句子第一个词的判断标准是什么?
-
解决方案已说明here
标签: javascript