如何使用javascript将段落中每个句子的首字母大写?

问题描述

如何制作段落中每个句子的第一个字母。

“这是测试用例。我想使用javascript将每行的首字母大写。你好?我在说!” =>“这是测试用例。我想使用javascript将每行的首字母大写。您好?我在说!”

解决方法

您可以使用正则表达式来实现它:

/(?<=(?:^|[.?!])\W*)[a-z]/g

const text = 'this is test case. i want to capitalize first letter of each row using javascript. lorem ipsum dolor sit amet consectetur adipisicing elit. "voluptas,debitis?" unde,delectus pariatur,velit vero "dolorem repellendus" veritatis. quia odio... aperiam (nemo) sint natus 0.1 hic ad nisi id magni praesentium.';

const result = text.replace(/(?<=(?:^|[.?!])\W*)[a-z]/g,i => i.toUpperCase());

console.log(result);

,

您可以使用CSS ::first-letter伪选择器轻松实现相同的行为:

p::first-letter {
  text-transform: uppercase
}
<p>my name is Donald.</p>
<p>i live in Duckburg.</p>
<p>my best friend is Mickey.</p>

,

您可以通过以下方式进行转换。

let convertedText=text.split(".").map((s)=>{return s[0].toUpperCase() + s.slice(1)}).join(".");
,

如果要大写每个句子的第一个字母,可以先将字符串按句点分隔。

select group_concat(student),subject 
  from schedule  
 group 
    by subject

将每个句子的第一个字母大写,然后用句点将它们连接起来。