我有一个包含字母,数字和空格的字符串。我想计算只包含字母而忽略数字的单词。
例如,我有以下字符串:
72634672 2374723654 2423 623623643 7474.747bbberb 7347547345 uhfuherhfru uruhreuhre
在此文本区域中:
<textarea id="text"></textarea>
<button type="button" id="detect">DETECT</button>
所以,我这样做:
$("#detect").click(function(){
var text = $("#text").val();
var text2 = text.replace(/\d+/g, ''); //removing numbers
var words = $.trim(text2).split(" "); //count words
alert("String: "+text2+" Number of words: " +words.length);
});
问题是结果向我显示了这一点
String: .bbberb uhfuherhfru uruhreuhre || Number of words: 4
但是结果中有3个单词,所以我想得到这个:
String: .bbberb uhfuherhfru uruhreuhre || Number of words: 3
我该如何解决? 我需要您的帮助。
答案 0 :(得分:1)
split
接受正则表达式。
您可以将多个空格视为一个空格,如下所示:
$.trim(text2).split(/ +/);
这将忽略删除数字后剩余的多余空格。
答案 1 :(得分:0)
您可以过滤出空白条目:
var text2 = text.replace(/\d+/g, ''); //removing numbers
var words = $.trim(text2).split(" ").filter(a => a != ""); //count words
console.log("String: "+text2+" Number of words: " +words.length);