句子如何被截斷爲一定數量的單詞(注意不是字母)?將句子截斷爲一定數量的單詞
我以爲使用split(" ")
,但那我該如何算出單詞呢?
例如:
Javascript word count cut off
=>Javascript word count
Want better search results? See our search tips!
=>Want better search
句子如何被截斷爲一定數量的單詞(注意不是字母)?將句子截斷爲一定數量的單詞
我以爲使用split(" ")
,但那我該如何算出單詞呢?
例如:
Javascript word count cut off
=>Javascript word count
Want better search results? See our search tips!
=>Want better search
可以使用split
[MDN]和join
[MDN]。
"Want better search results? See our search tips".split(" ").splice(0,3).join(" ")
太棒了,謝謝你的快速回復。 –
@fish:下次請發佈您的嘗試並描述您的困難,而不是將SO用作參考網站或「請爲我做這個」網站。乾杯! –
@Tomalak Geret'kal,好的,請原諒我作爲學習網絡技術的先行者。 –
分裂工程,正如你所描述的那樣。但是,如果使用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
'[A-Z | a-z]'將匹配'A-Z','''和'a-z'。在一個字符類中,'|'沒有特別的意義。如果你想使用不區分大小寫,只需使用'i'修飾符。無論如何,最好使用'\ w':'/ \ w +/g'。 –
@Timbits,這也是一個很好的方法,但是如果'str'是中文或拉丁文字,甚至是json數據,使用'/ [A-Z | a-z] +/g'並不容易。 –
這是我爲Meteor應用程序編寫的「read more」函數。它接受maxWords參數,並使用jquery的text()方法去除html標籤。
希望它有幫助!
function readMore(string, maxWords) {
var strippedString = $("<p>" + string + "</p>").text().trim();
var array = strippedString.split(" ");
var string = array.splice(0, maxWords).join(" ");
if(array.length > maxWords) {
string += "...";
}
return string ;
}
你試過了什麼?什麼沒有用?你到底有什麼困難? – Oded
@已完成,許多答案使用'字符串長度'來剪切字母。這樣的話將被打破。 –
@fish:這不是Oded問的! –