检查javascript中包含多少单词的字符串
Check a string contain how many word in javascript
我想检查字符串中有多少单词
例如。
asdsd sdsds sdds
3个单词
问题是,如果两个子字符串之间有一个以上的空格,则结果是不正确的
这是我的程序
function trim(s) {
return s.replace(/^'s*|'s*$/g,"")
}
var str = trim(x[0].value);
var parts = str .split(" ");
alert (parts.length);
如何解决问题?感谢的帮助
您可以使用带有单词边界的match
:
var words = str.match(/'b'w+'b/g);
http://jsbin.com/abeluf/1/edit
var parts = str .split(" ");
parts = parts.filter(function(elem, pos, self) {
return elem !== "";
});
请试试这个。请确保您使用的是最新的浏览器来使用此代码。
请使用我在项目中已经使用过的这个:
function countWords(){
s = document.getElementById("inputString").value;
s = s.replace(/(^'s*)|('s*$)/gi,"");
s = s.replace(/[ ]{2,}/gi," ");
s = s.replace(/'n /,"'n");
document.getElementById("wordcount").value = s.split(' ').length;
}
使用split方法很容易找到,但您需要找出是否有任何特殊字符。若字符串中并没有特殊字符,那个么最后一行就足够了。
s = document.getElementById("inputString").value;
s = s.replace(/(^'s*)|('s*$)/gi,"");
s = s.replace(/[ ]{2,}/gi," ");
s = s.replace(/'n /,"'n");
document.getElementById("wordcount").value = s.split(' ').length;
try:
function trim(s) {
return s.replace(/^'s*|'s*$/g,"")
}
var regex = /'s+/gi;
var value = "this ss ";
var wordCount = value.trim().replace(regex, ' ').split(' ').length;
console.log( wordCount );
一个更短的模式,试试这样的东西:
('S+)
regex引擎返回的匹配数将是您想要的结果。
相关文章:
- 如何在Javascript中从字符串中提取某些单词
- 如何在PHP中获取特定的字符串单词
- 对字符串使用IndexOf来挑选某些单词
- 如何替换数据属性中的特定字符串单词
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 我如何从字符串中选出第一个单词的第一个字母,然后再选出第二个单词
- Regex模式,用于检查字符串中每个单词的第一个字母(如果是Javascript中的大写字母)
- 类别自动完成jQuery中的单词级自定义筛选器,而不是子字符串
- 测试字符串中的多个单词
- 正则表达式以更改字符串中的某些单词
- 输出包含3个单词的字符串中的前2个单词
- Geoplugin字符串结果为德语单词/语言
- 如何知道找到的单词是字符串的一部分还是JavaScript中的函数调用
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- 查找数组中最长的单词/字符串
- 使用 jQuery 在大写字母中制作特定的单词(字符串)
- 在 javascript 中使用嵌套的 for 循环返回单词字符串中重复最多的字母
- JavaScript RegEx新手-从三个单词字符串中选择中间单词
- 使用javascript确保给定的单词(字符串)都是大写字母
- 判断多单词字符串是否包含单词