Javascript 如何使用Jquery计算文本区域中只有字母而没有数字的单词?
我有一个包含字母、数字和空格的字符串。我想数一数只有字母而忽略数字的单词 例如,我有以下字符串:Javascript 如何使用Jquery计算文本区域中只有字母而没有数字的单词?,javascript,jquery,Javascript,Jquery,我有一个包含字母、数字和空格的字符串。我想数一数只有字母而忽略数字的单词 例如,我有以下字符串: 72634672 2374723654 2423 623623643 7474.747bbberb 7347547345 uhfuherhfru uruhreuhre 在此文本区域: <textarea id="text"></textarea> <button type="button" id="detect">DETECT</button> 问
72634672 2374723654 2423 623623643 7474.747bbberb 7347547345 uhfuherhfru uruhreuhre
在此文本区域:
<textarea id="text"></textarea>
<button type="button" id="detect">DETECT</button>
问题是,结果显示:
String: .bbberb uhfuherhfru uruhreuhre || Number of words: 4
但结果中有三个词,所以我想得到:
String: .bbberb uhfuherhfru uruhreuhre || Number of words: 3
我怎样才能修好它?
我需要你的帮助。
split
接受正则表达式
可以将多个空间视为一个空间,如下所示:
$.trim(text2).split(/ +/);
这将忽略删除数字后留下的额外空格。您可以过滤掉空条目:
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);
“我想数一数只有字母而忽略数字的单词。”那你为什么要从单词中删除数字呢?从您的示例字符串中,只有两个单词是alpha only。我可能会更进一步,使用
.split(/\s+/)
在所有空格上进行拆分。@StephenP提出了一个很好的观点,以防字符串可能包含制表符或换行符。
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);