我有这个HTML数据
<div id="sample">
<p style="text-align: center;">
<span style="font-family: 'comic sans ms', sans-serif; font-size: medium;">
<strong>
word1
<span style="line-height: 1.5;">
word2
</span>
<span style="line-height: 1.5;">
word3
</span>
<span style="line-height: 1.5;">
</span>
</strong>
</span>
</p>
</div>
我想在div
元素中获取文本。
这是我的JavaScript代码:
var text = document.getElementById('sample');
var text_content = jQuery(text).text();
console.debug(text_content);
控制台记录word1 word2 word3
。
我一字一句地想要它,所以我使用了split
方法:
var text_content_array = text_content.split(" ");
console.debug(text_content_array);
控制台记录["word1 word2 word3"]
。该字符串未被标记化。
我没试过这个代码:
var text_content_array = text_content.split(" \n\r\t\b\f");
console.debug(text_content_array);
如何从字符串中获取一系列单词?
答案 0 :(得分:0)
您可以使用trim方法和regex来获取数组。
类似的东西:console.log(text_content.trim().split(/[\s,]+/))
这是你的代码的jsbin example。
答案 1 :(得分:0)
试试这个: -
var text = document.getElementById('sample');
var text_content = jQuery(text).text();
var text_content_array = new Array();
text_content_array = text_content.split(" ");
for (var i = 0; i < text_content_array.length; i++) {
if (text_content_array[i].trim().length > 0)
console.debug(text_content_array[i]);
}
希望这会对你有所帮助。
答案 2 :(得分:-1)
试试这个
var text_content_array = text_content.split(/ |\b\s+/g);
答案 3 :(得分:-1)
试试这个
var a = $("#sample").text().trim();
var b = a.replace(/\s+/g,',');
var c = b.split(',')
alert(c);
答案 4 :(得分:-2)
换行符和不间断空格与字符串" "
不匹配,但 匹配正则表达式模式\s
从文本中收集所有单独单词的最简单方法是使用match()
查找所有非空格字符序列(\S
)。该方法避免了在拆分字符串之前修剪字符串的需要。喜欢这个
var text = document.getElementById('sample');
var text_content_array = jQuery(text).text().match(/\S+/g);
console.debug(text_content_array);
["word1", "word2", "word3"]