如何计算随机字符串中的字母数?

时间:2011-09-08 14:04:04

标签: javascript-events javascript

如果从SERVER获取随机字符串:

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

str可以包含带空格的随机数字。这是字符串的内容是不可预测的。

在javascript中,如何计算字符串中字母的数量(单词之间的空格独占来自计数)。例如“我有车”应该算9个字母。

6 个答案:

答案 0 :(得分:15)

假设您只想要字母字符,请先使用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

答案 1 :(得分:7)

我们拆分每个空间并再次加入阵列:

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

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

alert(str.length);

http://jsfiddle.net/AwVBJ/

答案 2 :(得分:7)

你可以使用正则表达式\w计算匹配数 - 它匹配任何字母数字字符或任何字母字符[a-zA-Z]

例如:

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

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

答案 3 :(得分:2)

还有另一种方式:

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

答案 4 :(得分:2)

var temp = str;

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

temp.length会给你字符数

答案 5 :(得分:0)

计算空格数(例如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)));

注意:它正确计算两端的空格和空格。