2011-09-08 79 views
7

如果有一个随机字符串从服务器获取:如何计算随机字符串中的字母数?

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

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

在JavaScript中,如何计算字符串中的字母数(空间单词之间是从计数独家)。比如“我有车”应该算9个字母。

回答

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

+0

多少? – Mellon

+0

@Mellon:如果你想包含空格但排除其他标点符号,请将字符类改为'[^ A-Z]'。 –

7

我们分开每一个空间,并再次加入阵列:

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

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

alert(str.length); 

http://jsfiddle.net/AwVBJ/

+1

现在是'',一封信吗? :P – Andrew

+1

@Andrew:公平地说,OP没有明确提及空格。但是,他可能并不想数其他垃圾。 –

2

而另一种方式:

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

您可以使用正则表达式\w - 匹配任何字母数字字符或匹配的匹配数任何字母字符

例如:

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

直播例如:http://jsfiddle.net/GBvCp/

+0

请注意'\ w'也匹配'_',这可能会或可能不需要。 –

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))); 

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

2
var temp = str; 

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

temp.length将要给你,如果我想采取什么空间考虑字符

相关问题