当前位置: 首页 > 知识库问答 >
问题:

之后如何大写字符串的所有字符。比如移动键盘

娄利
2023-03-14

我的要求不仅仅是将字符串的第一个字符大写,还有一个段落,我想将每个字符串的第一个字符大写,就像移动设备键盘一样。

我已经尝试了以下解决方案,但无法满足我的要求:

$('#test').blur(function(event) {
 var value = $(this).val();

 var output = "";

 output = value.charAt(0).toUpperCase() + value.slice(1);

});

上面的代码只对第一个字符大写。

样本输入:

lorem ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,lorem ipsum一直是行业标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成一本打印样本书。就是这样!

预期产出:

Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成一本打印样本书。就是这样!

共有3个答案

冯峻
2023-03-14

您可以使用String#replace()方法与以下正则表达式进行匹配:

/\.\s*\w/

与自定义替换回调结合使用,该回调将匹配的字符串大写以实现此目的。这里的基本思想是将直接跟在句号后面的第一个字母的任何子字符串大写(即\.)。正则表达式还考虑在句号和下一个字母字符(即\w)之间出现零个或多个空格(即\s*)的情况:

var input = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.That's it!";

var result = input.replace(/\.\s*\w/, function(match) {
  return match.toUpperCase();
});

console.log('Regular expression based approach', result);
燕正德
2023-03-14

试试这个

js prettyprint-override">var input = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.That's it!";
    
console.log( input.charAt(0).toUpperCase() + input.slice(1))
葛威
2023-03-14

可以使用正则表达式:匹配字符串的开头或后跟空格的句点,然后匹配字母字符,并使用替换函数对该字符调用toUpperCase。还要正确替换后面的字母s以及,使用字符集[.?!]

const input = `lorem ipsum is simply dummy text of the printing and typesetting industry. lorem ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.that's it!`;
const cleaned = input.replace(
  /(^|\[.?!] *)([a-z])/g,
  (_, g1, g2) => g1 + g2.toUpperCase()
);
console.log(cleaned);
 类似资料:
  • 首先,考虑这个例子: 我期望什么:因为“123”是一个< code>const char*,我期望这些字符串的地址(就像其中一个答案所说的)被比较。 …因为和将只比较这些字符串的基址。不是字符串本身的内容。 但输出仍然是。好吧,我们实际上不知道如何比较两个prvalue对象的地址(或者至少我不明白会怎么做)。所以让我们将这些字符串声明为变量,看看会发生什么: 输出仍然是 。所以字符串不会衰减吗?或

  • 问题内容: 有谁知道一种非常简单的仅将字符串的首字母大写的方法,而与字符串其余部分的大写无关? 例如: 我也希望能够处理所有字符串长度。 问题答案: @ saua是正确的,并且 适用于任何字符串。

  • 我使用JavaScript创建了以下字符串: 我想得到: 我试过这个: 但我得到了: 你能帮我吗?

  • 问题内容: 我正在尝试为其中一个根据您的回答做出响应的程序编写代码。我想这样做,以便某些变量不区分大小写。例如,如果我的变量等于我希望它也等于。那可能吗? 到目前为止,这是我的代码: 我不想为每个答案都设置2种情况,其中一种是大写,另一种是小写。 稍微偏离主题的问题。如何关闭扫描仪的资源泄漏? 问题答案: 值得一提: 或简单地使用:

  • 我只想要将普通字符串插入到EditText中,但不管发生什么情况,我都会将其全部大写。 相关XML: 相关Java: 是String变量总是大写。为什么呢?我该怎么解决呢?

  • 我有一个包含以下列的表: 然后,我手动将更新sql编写为 现在,这个解决方案对我来说并不现实。我查看了以下与Regex相关的链接和它周围的其他链接。 更新和替换字符串的一部分 https://www.codeproject.com/questions/456246/replace-special-characters-in-sql 我如何编写能够处理所有这些特殊字符的更新sql?