计算单词中的大写 javascript
Count the capitals in the word javascript
) 我试图用这个语句解决一个问题:
写一个函数 howManyCaps 来计算单词中的大写字母,然后 returns 一个句子说明哪些字母是大写字母以及总共有多少个大写字母。
这是我的功能
function howManyCaps(str) {
var count = 0;
for (i = 0; i < str.length; i++) {
if (str[i] == str[i].toUpperCase()) {
console.log(true);
count++;
} else {
false;
}
}
return count;
}
但在控制台中,如果尝试使用类似 str=" How many Caps" 的内容,您会看到值 5 而不是 2。
有什么建议么?
谢谢
如果您可以使用正则表达式,我建议如下:
function howManyCaps(str) {
return str.length - str.replace(/[A-Z]+/g, "").length;
}
var str = " How many Caps";
console.log("Input has " + howManyCaps(str) + " capital letters.");
想法是将原始输入的长度与删除所有大写字母的输入长度进行比较。
更好的方法是使用正则表达式
下面是代码
function howManyCaps(str) {
return str.replace(/[^A-Z]/g, '').length;
}
console.log(howManyCaps(" How many Caps"))
问题是你的间距。
" How many Caps"
有 3 个空格和 2 个大写字母..应该可以帮助您调试
最简单的方法是[O(N)]:
function howManyCaps(str) {
let upper = 0;
for (let i = 0; i < str.length; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') upper++;
}
return upper;
};
howManyCaps(' How many Caps');
有些人说不要使用空格或考虑空格,但这也不是一个好的策略,因为它也会因特殊字符而中断。
) 我试图用这个语句解决一个问题:
写一个函数 howManyCaps 来计算单词中的大写字母,然后 returns 一个句子说明哪些字母是大写字母以及总共有多少个大写字母。
这是我的功能
function howManyCaps(str) {
var count = 0;
for (i = 0; i < str.length; i++) {
if (str[i] == str[i].toUpperCase()) {
console.log(true);
count++;
} else {
false;
}
}
return count;
}
但在控制台中,如果尝试使用类似 str=" How many Caps" 的内容,您会看到值 5 而不是 2。 有什么建议么? 谢谢
如果您可以使用正则表达式,我建议如下:
function howManyCaps(str) {
return str.length - str.replace(/[A-Z]+/g, "").length;
}
var str = " How many Caps";
console.log("Input has " + howManyCaps(str) + " capital letters.");
想法是将原始输入的长度与删除所有大写字母的输入长度进行比较。
更好的方法是使用正则表达式 下面是代码
function howManyCaps(str) {
return str.replace(/[^A-Z]/g, '').length;
}
console.log(howManyCaps(" How many Caps"))
问题是你的间距。
" How many Caps"
有 3 个空格和 2 个大写字母..应该可以帮助您调试
最简单的方法是[O(N)]:
function howManyCaps(str) {
let upper = 0;
for (let i = 0; i < str.length; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') upper++;
}
return upper;
};
howManyCaps(' How many Caps');
有些人说不要使用空格或考虑空格,但这也不是一个好的策略,因为它也会因特殊字符而中断。