我使用此字符串输入
one, two, three
我正在得到用逗号分隔的单词总数:
val = $("input").val().replace(" ", "");
words = val.split(",");
count = words.length;
它返回2,但还有一个单词three
。其后没有逗号,因此不会被拆分/计数。
如何在长度中包括最后一个单词?
还有一个没有逗号的单词怎么办?
one
它应该返回1。
注意:我在输入时使用keyup, keypress
从输入中获取单词长度。不知道这是否重要。
答案 0 :(得分:1)
尝试一下
let str = 'one, two, three'
console.log( !str ? 0 : str.split(',').length )
答案 1 :(得分:1)
我已经在下面的代码中对此进行了测试,并且可以正常运行。
您可以为jsFiddle提供示例工作不正确吗?
function getCount(string) {
val = string.replace(" ", "");
words = val.split(",");
count = words.length;
console.log(count);
}
getCount('one');
getCount('one, two, three')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
答案 2 :(得分:1)
您应该像这样使用.split()
:
let str = "one, two, three";
console.log(str.split(',').length);
let word = "one";
console.log(word.split(',').length);