文章はどのようにして特定の数の単語(NB、文字ではない)に切り捨てられますか?文章を特定の単語数に切り捨てる
私はsplit(" ")
を使用すると思いましたが、どのように単語を数えますか?例えば
:
Javascript word count cut off
=>Javascript word count
Want better search results? See our search tips!
=>Want better search
文章はどのようにして特定の数の単語(NB、文字ではない)に切り捨てられますか?文章を特定の単語数に切り捨てる
私は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、ok、ウェブテクノロジーを学ぶための初心者として私を許してください。 –
これまで説明したように、分割作業が行われます。しかし、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アプリケーション用に書いた「もっと読む」機能です。 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
@Oded、答えの多くは文字列を切り詰める 'string length'です。その言葉が壊れるように。 –
@fish:それはOdedが尋ねたものではありません! –