我想用JavaScript来做句子案例。
输入:
hello
world
example到目前为止,我已经尝试过了:
$('.sentenceCase').click(function(event) {
var rg = /(^\w{1}|\.\s*\w{1})/gi;
var textareaInput=$('.textareaInput').val();
myString = textareaInput.replace(rg, function(toReplace) {
return toReplace.toUpperCase();
});
$('.textareaInput').val(myString);
});如果我输入:my name is hello. i have a pen,我的输出是可以的。(输出:My name is hello. I have a pen)
但是对于第一个例子,我的代码的输出是:
Hello
world
example我想要的输出是:
Hello
World
Example我怎么能这么做?(在任何完全停止之后“。这封信将是大写字母)
发布于 2016-05-26 10:24:44
你只关心这封信是不是一组中的第一个字母,所以.
/\b\w/g匹配单词-字符后面的单词边界-即每个单词中的第一个字母。
发布于 2016-05-26 10:14:53
试试这个:
$('.sentenceCase').click(function(event) {
var rg = /(^\w{1}|\.\s*\w{1}|\n\s*\w{1})/gi;
var textareaInput=$('.textareaInput').val();
myString = textareaInput.replace(rg, function(toReplace) {
return toReplace.toUpperCase();
});
$('.textareaInput').val(myString);
});在您的代码中,您正在检查句号(.),但是您的文本包含新的行字符。这就是问题所在。
在这个Regex中,它将查找开头和后面的第一个字符。以及字符串中的“\n”。
https://stackoverflow.com/questions/37457557
复制相似问题