检查一个字符串在javascript中包含多少个单词
我想检查一下字符串中有多少个单词 例如 三个字 问题是,如果两个子字符串之间存在多个空格,则结果不正确 这是我的节目检查一个字符串在javascript中包含多少个单词,javascript,regex,string,split,Javascript,Regex,String,Split,我想检查一下字符串中有多少个单词 例如 三个字 问题是,如果两个子字符串之间存在多个空格,则结果不正确 这是我的节目 function trim(s) { return s.replace(/^\s*|\s*$/g,"") } var str = trim(x[0].value); var parts = str .split(" "); alert (parts.length); 如何解决这个问题?感谢您的帮助使用拆分方法很容易找到,但如果有任何特殊字符,您需要进行排序。
function trim(s) {
return s.replace(/^\s*|\s*$/g,"")
}
var str = trim(x[0].value);
var parts = str .split(" ");
alert (parts.length);
如何解决这个问题?感谢您的帮助使用拆分方法很容易找到,但如果有任何特殊字符,您需要进行排序。如果字符串中没有特殊字符,那么最后一行就足够了
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;
请试试这个。确保您使用的是最新的浏览器来使用此代码。您只需使用
匹配
与单词边界:
var words = str.match(/\b\w+\b/g);
请使用我在项目中已经使用过的这个:
尝试:
如果是更短的模式,请尝试以下操作:
(\S+)
正则表达式引擎返回的匹配数将是您所期望的结果
var words = str.match(/\b\w+\b/g);
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;
}
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+)