大写每行的第一个单词

时间:2017-05-10 20:14:10

标签: javascript jquery slice capitalize

我正在尝试使用jquery来扩充每一行的第一个单词。

我尝试过以下脚本:

sentence =  sentence.charAt(0).toUpperCase() + sentence.slice(1);

这适用于第一行,但其余行不是大写的。 我希望下一行的第一封信也要大写。 这个过程也应该继续用于下一行。

我认为添加长句可能有用,但我担心它是否会对系统造成沉重负担。如果是这样,还有其他简单方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

正如之前在评论中所说,您需要指定文本中的新行。只是一个新行(\n)?这是一个仅使用新行字符的示例:



var text = document.getElementById("pre").innerText,
    newText = text
                .split(/\n/g)
                .map(x => x.charAt(0).toUpperCase() + x.substr(1))
                .join("\n");

console.log(newText);

<pre id="pre">
lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ut leo mauris. 
integer pharetra imperdiet mauris a tempor. 
cras facilisis pulvinar porta. cras viverra pellentesque dui, ut pulvinar ex commodo eu. 
curabitur sodales vitae velit ut luctus. 
aliquam diam justo, facilisis vitae facilisis nec, commodo ut nunc. 
duis bibendum, sem laoreet mollis laoreet, ipsum velit pulvinar magna, quis accumsan leo felis id lorem. proin et suscipit dui. 
duis porttitor nibh non faucibus pretium.
</pre>
&#13;
&#13;
&#13;

here取得的大写功能。请注意,第3行和第6行有多个句子,但它们不会被视为不在新行中。

答案 1 :(得分:0)

以下是使用普通javascript

的一种解决方案
let sentence = 'this is a new sentence.';

console.log(sentence.split(' ', 1)[0]
                    .charAt(0)
                    .toUpperCase()
                    .concat(sentence.substring(1)));