長い文字を「...」で省略する方法(Ruby・Rails・JavaScript)
【結論】
・文字を省略したい場合、Railsであれば、truncateメソッドを利用する方法がある
・Rubyであれば、範囲オブジェクトで文字の範囲を指定して、表示をさせる事
・JavaScriptの場合は、slice() メソッドで文字の省略が可能
【目次】
【本題】
文字数を省略させたいケース
無制限に文字が表示されてしまうと、レイアウトが崩れてしまうので、表示させる文字数を制限したい事が多々あります。
そういった場合に、利用出来る手法をいくつか紹介します。
Railsの場合(truncateメソッド)
Railsの場合、truncateというメソッドで、表示させる文字サイズを指定する事が可能です。
#()内に表示したい文字数を指定 str = "abcdefg" str.truncate(6) => "abc..."
#()内に表示したい文字数を指定 str = "abcdefg" truncate(str, length: 6) => "abc..."
http://railsdoc.com/references/truncate
Rubyの場合(範囲オブジェクト)
Rubyの場合、範囲オブジェクトで文字数を指定する事が可能です。
#[]内に表示したい文字数を指定 str = "abcdefg" str[3] => "abc"
JavaScriptの場合(slice メソッド)
JavaScriptの場合、sliceというメソッドで、表示させる文字サイズを指定する事が可能です。
#()内に表示したい文字の範囲を指定 str = "abcdefg" str.slice(0,2) => "abc"
String.prototype.slice() - JavaScript | MDN
参考情報
Rails - 長い文字列を省略して表示する - Qiita
【JavaScript】長い文章の文末を省略して末尾に「…」を表示させる方法 – 株式会社シーポイントラボ | 浜松のシステム・RTK-GNSS開発