この文字列の長さが50より大きい場合にJava文字列を切り取り、文字列の最後に "..."を追加します。文字数でJava文字列を切り捨てます
例:
私は、次のJavaのStringを持っている:
String str = "abcdefghijklmnopqrtuvwxyz";
私は長= 8で文字列をカットしたいと思います:
結果がでなければなりません。
String strOut = "abcdefgh..."
この文字列の長さが50より大きい場合にJava文字列を切り取り、文字列の最後に "..."を追加します。文字数でJava文字列を切り捨てます
例:
私は、次のJavaのStringを持っている:
String str = "abcdefghijklmnopqrtuvwxyz";
私は長= 8で文字列をカットしたいと思います:
結果がでなければなりません。
String strOut = "abcdefgh..."
使用し
String strOut = "abcdefghijklmnopqrtuvwxyz"
String result = strOut.substring(0, 8) + "...";// count start in 0 and 8 is excluded
System.out.pritnln(result);
注サブストリング:ストリングは、(第2の整数、最初INT)の2つのパラメータを取ります。最初は包括的で、2番目は排他的です。
@rgettmanこれは本当です。入力していただきありがとうございます。 – fmodos
ジャカルタコモンズStringUtils.abbreviate()。何らかの理由で第三者のライブラリを使用したくない場合は、少なくともsource codeをコピーしてください。
これまでのその他の回答よりも大きな利点の1つは、nullを渡すと投げられないことです。
このような何かであってもよい:
String str = "abcdefghijklmnopqrtuvwxyz";
if (str.length() > 8)
str = str.substring(0, 8) + "...";
String strOut = str.substring(0, 8) + "...";
使用したサブストリングとCONCATENATE:
if(str.length() > 50)
strOut = str.substring(0,7) + "...";
はあなたがしかし、機能場所を作ることができString#substring()
if(str != null && str.length() > 8) {
return str.substring(0, 8) + "...";
} else {
return str;
}
を使用することができます君は 表示できる最大文字数を渡します。省略記号は、指定された幅が文字列に十分でない場合にのみ切り捨てられます。
public String getShortString(String input, int width) {
if(str != null && str.length() > width) {
return str.substring(0, width - 3) + "...";
} else {
return str;
}
}
// abcdefgh...
System.out.println(getShortString("abcdefghijklmnopqrstuvwxyz", 11));
// abcdefghijk
System.out.println(getShortString("abcdefghijk", 11)); // no need to trim
StringUtils.abbreviate("abcdefg", 6);
これはあなたに次のような結果が得られます:6が必要な長さであり、 "ABCDEFG" abc...
はabbrevietedする必要のある文字列です。
「abcfudhrenflöerhbfhlredbl」と書かれていた場合は...「私の心ははるかに速くあなたが意味するものを得るでしょう。 :D:Dとにかく感謝:) –
これは最も正確なので、この回答は受け入れられるべきです。 – Peter
あなたは安全な部分文字列を使用することができます
org.apache.commons.lang3.StringUtils.substring(str, 0, LENGTH);
を通常は長さが省略記号でNよりもされないようにカットするために、より理にかなっています。違いは、例9では、10文字または11文字の文字列は、短くても同じ長さであっても切り取られるということです。 –