Javascript计数长度特定的字符串

时间:2016-03-23 14:06:31

标签: javascript

计数 length使用特定字符串时,我遇到了问题;

基本上,我有一个存储在变量中的字符串。

类似的东西:

var x = "<p class='test'>one</p>
         <p class='test'>two</p>
         <p class='test'>three</p>
         <p class='test'>four</p>";

var count = x.length // expected 4 as result

如何解决这件事?

提前致谢

3 个答案:

答案 0 :(得分:2)

使用正则表达式String.match(new RegExp()).length

var x =  "<p class='test'>one</p>" + 
         "<p class='test'>two</p>" + 
         "<p class='test'>three</p>" +
         "<p class='test'>four</p>";

x.match(new RegExp("<p", "g") || []).length //4
//or count </p>
x.match(new RegExp("</p>", "g") || []).length //4
//or old 2009 answer
(x.split("<p").length - 1) //4

答案 1 :(得分:1)

您将数据存储为字符串,而字符串并不关心字符是什么,它们只是看到了所有字符。如果您希望能够存储构成段落元素的字符串并知道您已经制作了多少字符串,那么您需要一个字符串数组,如下所示:

&#13;
&#13;
select * sum(word_count)
from tablename
where song_id in (<ids of the songs you want to search for>)
group by word
&#13;
&#13;
&#13;

答案 2 :(得分:1)

另一种方法是从字符串创建一个div并计算子元素。

var x = '<p class="test">one</p>'+
        '<p class="test">two</p>'+
        '<p class="test">three</p>'+
        '<p class="test">four</p>';

var div = document.createElement('div');
div.innerHTML = x;
var count = div.childNodes.length;

alert(count);

https://jsfiddle.net/dttz64qn/