如何将句子截断为一定数量的单词(NB。不是字母)?
我想用split(" ")
,但那我怎么算出单词?
例如:
Javascript word count cut off
=> Javascript word count
Want better search results? See our search tips!
=> Want better search
答案 0 :(得分:30)
您可以使用split
[MDN]和join
[MDN]。
"Want better search results? See our search tips".split(" ").splice(0,3).join(" ")
答案 1 :(得分:4)
这是我为Meteor应用程序编写的“阅读更多”功能。它接受maxWords参数并使用jquery的text()方法剥离html标记。
希望它有所帮助!
function readMore(string, maxWords) {
var strippedString = $("<p>" + string + "</p>").text().trim();
var array = strippedString.split(" ");
var wordCount = array.length;
var string = array.splice(0, maxWords).join(" ");
if(wordCount > maxWords) {
string += "...";
}
return string ;
}
答案 2 :(得分:0)
带有ES6的纯解决方案,默认为10个字
const truncate = (str, max = 10) => {
const array = str.trim().split(' ');
const ellipsis = array.length > max ? '...' : '';
return array.slice(0, max).join(' ') + ellipsis;
};
答案 3 :(得分:-1)
正如您所描述的那样,拆分工作。但是,如果使用RegExp,则不必拆分整个字符串:
var str = "Lions and tigers and bears";
var exp = /[A-Z|a-z]+/g;
var a = exp.exec(str); // Lions
var b = exp.exec(str); // and
var c = exp.exec(str); // tigers