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)」もあります。