コンテンツにスキップ

Apache Commons Lang/文字列を途中で省略して「...」を追加したい

出典: フリー教科書『ウィキブックス(Wikibooks)』
メインページ > 工学 > 情報技術 > Java > Apache Commons Lang > Apache Commons Lang/文字列を途中で省略して「...」を追加したい

文字列を途中で省略して「...」を追加したい

[編集]

具体的には次のような場合です。
文字列"あいうえおかきくけこさしすせそ"を文字列"あいうえお..."に変換したい。
この場合には次のメソッドを利用できます。

利用メソッド

[編集]
パッケージ
org.apache.commons.lang
クラス
StringUtils
メソッド
public static String abbreviate(String str, int maxWidth)
引数
str 省略対象文字列です。
maxWidth 戻り値の最大文字数です。maxWidthには"..."も含まれるため4以上にして下さい。
戻り値
省略された文字列です。 strがnullの場合はnullになります。
例外
IllegalArgumentException maxWidthが3以下の場合に投げられます。
利用可能バージョン
2.0~

サンプルコード

[編集]

以下のサンプルコードでは"あいうえおかきくけこさしすせそ"を"あいうえお..."に変換します。

import org.apache.commons.lang.StringUtils;

public class Abbreviate {
    public static void main(String[] args) {
        String str = "あいうえおかきくけこさしすせそ";
        int maxLength = 8;
        String result = StringUtils.abbreviate(str, maxLength);

        System.out.print(result);
    }
}

実行結果

あいうえお...

備考

[編集]

StringUtilsクラスには、文字列の後方だけでなく前方も省略するメソッド
「public static String abbreviate(String str, int offset, int maxWidth)」があります。
また文字列の前方・後方ではなく内側を、指定した文字列で省略するメソッド
「public static String abbreviateMiddle(String str, String middle, int length)」もあります。