以多个字符剪切Java String

waw*_*los 21 java string

我想在此字符串长度> 50时剪切Java String,并在字符串末尾添加"...".

示例:

我有以下Java字符串:

String str = "abcdefghijklmnopqrtuvwxyz";
Run Code Online (Sandbox Code Playgroud)

我想剪掉长度= 8的字符串:

结果必须是:

String strOut = "abcdefgh..."
Run Code Online (Sandbox Code Playgroud)

小智 36

使用substring和concatenate:

if(str.length() > 50)
    strOut = str.substring(0,7) + "...";
Run Code Online (Sandbox Code Playgroud)


小智 25

StringUtils.abbreviate("abcdefg", 6);

这将给您以下结果: abc...

其中6是所需长度,"abcdefg"是需要缩写的字符串.

  • 这个答案应该被接受,因为它是最准确的. (2认同)

fmo*_*dos 11

使用子字符串

String strOut = "abcdefghijklmnopqrtuvwxyz"
String result = strOut.substring(0, 8) + "...";// count start in 0 and 8 is excluded
System.out.pritnln(result);
Run Code Online (Sandbox Code Playgroud)

注意:substring(int first,int second)有两个参数.第一个是包容性的,第二个是独家的.


小智 10

Jakarta Commons StringUtils.abbreviate().如果由于某种原因您不想使用第三方库,至少要复制源代码.

与其他日期答案相比,这一点的一大好处是,如果传入null,它将不会抛出.


Ole*_*huk 5

您可以使用安全子字符串:

org.apache.commons.lang3.StringUtils.substring(str, 0, LENGTH);
Run Code Online (Sandbox Code Playgroud)