如果从SERVER获取随机字符串:
var str='I am a student in XXX university, I am interested...'
str
可以包含带空格的随机数字。这是字符串的内容是不可预测的。
在javascript中,如何计算字符串中字母的数量(单词之间的空格是独占来自计数)。例如“我有车”应该算9个字母。
答案 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);
答案 2 :(得分:7)
你可以使用正则表达式\w
计算匹配数 - 它匹配任何字母数字字符或任何字母字符[a-zA-Z]
例如:
var numChars = "I have a car".match(/[a-zA-Z]/g).length;
// numChars = 9
答案 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)));
注意:它正确计算两端的空格和空格。