今回は長い文字列を省略して記載することができる「truncateメソッド」について解説したいと思います。文字数を指定するメソッドを定義して、都度呼び出すといった作業が不要になるため、知っておくとかなり使えるメソッドの1つです。
省略表示で何かいい方法はないかなあって調べてて、このメソッドを見つけた時は感動しました(笑)
truncateメソッドとは
truncateメソッドとは、文字列を切り捨てる(省略する)ことができるメソッドです。
デフォルトでは文字列は30文字に省略され、それ以降の文字列は「…」として表示されます。これらはオプションを付与することでカスタマイズ可能です。
以下は29文字の文字列を15文字に省略した場合の例になります。
"こんにちは。今日はいい天気ですね。お昼は何を食べましたか?".truncate(15)
=> "こんにちは。今日はいい天..."
使い方
ではtruncateメソッドの使い方について見ていきましょう。
truncateメソッドの定義とオプション内容については以下になります。
truncate(文字列 [, オプション])
オプション | 説明 | デフォルト値 |
:length | 切り捨ての桁数 | 30 |
:separator | 切り捨てる箇所を表す文字列 | |
:omission | 切り捨て時に末尾に付与する文字列 | … |
lengthオプション
切り捨てる文字数を設定できるオプションです。デフォルトは30文字です。
"こんにちは。今日はいい天気ですね。お昼は何を食べましたか?".truncate(10)
=> "こんにちは。今..."
"こんにちは。今日はいい天気ですね。お昼は何を食べましたか?".truncate(5)
=> "こん..."
separatorオプション
切り捨てる箇所を指定することができるオプションです。
"こんにちは。今日はいい天気ですね。お昼は何を食べましたか?".truncate(10, separator: "。")
=> "こんにちは..."
"こんにちは。今日はいい天気ですね。お昼は何を食べましたか?".truncate(20, separator: "。")
=> "こんにちは。今日はいい天気ですね..."
omissionオプション
末尾に付与される文字列を指定するオプションです。デフォルトは「…」です。
"こんにちは。今日はいい天気ですね。お昼は何を食べましたか?".truncate(10, separator: "。", omiss
=> "こんにちは@@@"
"こんにちは。今日はいい天気ですね。お昼は何を食べましたか?".truncate(20, separator: "。", omiss
=> "こんにちは。今日はいい天気ですね~~~"
まとめ
- truncateメソッドは、文字列を切り捨てる(省略する)ことができるメソッド
- デフォルトでは文字列は30文字に省略され、それ以降の文字列は「…」として表示される
- lengthオプションは切り捨てる文字数を設定できるオプション
- separatorオプションは切り捨てる箇所を指定することができるオプション
- omissionオプションは末尾に付与される文字列を指定するオプション
参考
今回は長い文字列を省略して記載することができる「truncateメソッド」について解説しました。ヘルパーメソッドとしても使用できるため、知っておくとかなり使えるメソッドの1つかなと思います。