如何限制打印出的字符串数量(JAVA)

时间:2011-06-30 23:14:58

标签: java string api

我有一个问题,我如何限制在java中打印出的字符串数量。例如,我想要这样的东西:

Orignal String:

  

“在世界悠久的历史中,   只有几代人   授予捍卫自由的作用   在最危险的时刻。我做   不要畏缩这个责任 -   我欢迎它。 “

我想要这个:

  

“在世界悠久的历史中,   只有几代人   授予捍卫自由的作用   在最大的时刻......“

5 个答案:

答案 0 :(得分:7)

使用java.text.BreakIterator,如下所示:

String s = "I want to truncate this";
int chars = 10;
BreakIterator b = BreakIterator.getWordInstance();
b.setText(s);
int cutAt = bi.following(chars);
System.out.println(s.substring(0,cutAt))

答案 1 :(得分:3)

您可以使用以下内容:

if (s.length() > 25)
    System.out.println (s.substring (0,22) + "...");
else
    System.out.println (s);

这样可以让足够短的字符串按原样打印,同时缩短(附加省略号)那些太长的字符串。

答案 2 :(得分:0)

String yourString = "very long string";
maxCharToPrint= 10;
System.out.println(yourString.substring(0, maxCharToPrint));

答案 3 :(得分:0)

String s = "your long sentence"
s.Substring(start, end);

在你的情况下

s.Substring(0, max);

答案 4 :(得分:0)

您还可以使用Apache Commons'org.apache.commons.lang.StringUtils类,它提供以下实用程序方法:

String abbreviate(String str, int maxWidth)
String abbreviate(String str, int offset, int maxWidth)
String abbreviateMiddle(String str, String middle, int length)