【问题标题】:How can I capitalize the first character of a sentence with JavaScript?如何使用 JavaScript 将句子的第一个字符大写?
【发布时间】: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


【解决方案1】:

如果您希望将任何句子中的第一个字母大写,您可以尝试使用 charAt + toUppercase 像这样;

var input="hello this is a sentence";

var output=input.charAt(0).toUpperCase()+input.substr(1,test.length);
// Hello this is a sentence

【讨论】:

  • 您好,非常感谢您的评论。我正在尝试您现在提供的内容。我认为我的实施有问题。我还注意到您在一个实例中写了“测试”而不是“文本”。这是一个错误对吗?无论哪种方式,这是新代码,仍然无法正常工作。 :/.
  • var TITLECASE = function(str, small){ small = (small) ?小:['a','and','as','at','an','by','this','if','is']; return str.replace(/(\w)(\w*)/g, function(_, i, r){ var j = i.toUpperCase() + (r != null ? r : ""); var text = (small.indexOf(j.toLowerCase())
  • 如果那不是放置代码的正确位置,我很抱歉。我是堆栈溢出的新手。而且我不确定将刚刚添加的代码粘贴到哪里。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-13
  • 1970-01-01
  • 2011-07-20
  • 2012-06-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多