javascript 如何计算随机字符串中的字母数?[已关闭]

utugiqy6  于 2023-01-16  发布在  Java
关注(0)|答案(6)|浏览(97)

询问代码的问题必须证明对要解决的问题有最低限度的了解。包括尝试的解决方案、为什么不起作用以及expected结果。另请参阅:Stack Overflow question checklist
九年前就关门了。
Improve this question
如果存在从SERVER获取的随机字符串:

var str='I am a student in XXX university, I am interested...'

str可以包含随机数量的单词和空格,这就是字符串的内容是不可预测的。
在javascript中,如何计算字符串中的字母数(单词之间的空格排除之外的)。例如,"I have a car"应该计算为9个字母。

dly7yett

dly7yett1#

假设您只需要字母字符,请先使用replace()删除其他字符:

var str='I am a student in XXX university, I am interested...';

alert(str.replace(/[^A-Z]/gi, "").length);

如果要将数字算作字母,则可以将0-9添加到[^A-Z]字符类。如果只想删除空格,则将正则表达式更改为/\s/g

but5z9lq

but5z9lq2#

您可以使用正则表达式\w计算匹配项的数量-它匹配任何字母数字字符或[a-zA-Z]匹配任何字母字符
例如:

var numChars = "I have a car".match(/[a-zA-Z]/g).length;
// numChars = 9

示例:http://jsfiddle.net/GBvCp/

euoag5mw

euoag5mw3#

我们拆分每个空格并再次加入数组:

var str='I am a student in XXX university, I am interested...'

str = str.split(" ").join("");

alert(str.length);

http://jsfiddle.net/AwVBJ/

ni65a41a

ni65a41a4#

还有另一种方式:

var str = "I have a car";   
while (str.indexOf(' ') > 0) { 
    str = str.replace(' ' , '');
    }
var strLength = str.length;
4xrmg8kj

4xrmg8kj5#

var temp = str;

temp= temp.replace(/[^a-zA-Z]+/g,"");

temp.length将为您提供字符数

cig3rfwq

cig3rfwq6#

计算空格数(例如http://p2p.wrox.com/javascript-how/70527-count-occurrence-character-string.html),然后从长度中减去空格数。

var testString = ' my test string has  a number of spaces ';
    alert('Number of spaces:' + (testString .replace(/[^ ]/g, '').length));
    alert('Number of characters:' + (testString.length));
    alert('Number of characters excluding spaces:' + 
        (testString.length - (testString     .replace(/[^ ]/g, '').length)));

注意:它正确地计算了双空格和结尾处的空格。

相关问题