当计数 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
如何解决这件事?
提前致谢
答案 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)
您将数据存储为字符串,而字符串并不关心字符是什么,它们只是看到了所有字符。如果您希望能够存储构成段落元素的字符串并知道您已经制作了多少字符串,那么您需要一个字符串数组,如下所示:
select * sum(word_count)
from tablename
where song_id in (<ids of the songs you want to search for>)
group by word
&#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);