首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

怎样用javascript来统计一个字符串里单词的个数啊解决方案

2012-02-20 
怎样用javascript来统计一个字符串里单词的个数啊?比如说“Howareyou”统计结果为3,我是菜鸟,不懂正则表达式

怎样用javascript来统计一个字符串里单词的个数啊?
比如说“How   are   you”统计结果为3,我是菜鸟,不懂正则表达式什么的。

[解决办法]
正则表达式
[解决办法]
Pattern.compile( "[how are you]{1} ");

[解决办法]
空格的个数+1
[解决办法]
newReg( "//b[A-Za-z0-9]//b ", "gim ");
[解决办法]
空格加1的实现

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN ">
<html>
<head>
<title> New Document </title>
<meta name= "Generator " content= "EditPlus ">
<meta name= "Author " content= " ">
<meta name= "Keywords " content= " ">
<meta name= "Description " content= " ">
</head>

<body>
<script language= "JavaScript ">
<!--
str = "How are you ";
var num = 1;
for(i=0;i <str.length;i++)
{
if(str[i]== " ")
{
num++;
}
}

alert(num+1);
//-->
</script>
</body>
</html>

[解决办法]
空格加1的话先要把多个空格,前后空格和换行符等替换成1个空格
[解决办法]
<script>
var str = "aa bb cc dd ";
alert(str.match(/\b\w+\b/gm).length);
</script>

[解决办法]
正则吧
不然这么多单词分割符号会累死的
[解决办法]
直接
var str = "aa bb cc dd ";
alert(str.match(/[a-zA-Z]+/).length);

另外\w包括 中文 和 数字 最好不要直接用\w
而且根本不用\b来区分前后


[解决办法]
<script>
var str= "aa bb c32 dd ff 456 ";
var r = /\b[a-zA-Z]+\b/g;
alert(str.match(r).length);
</script>

热点排行