我有一个问题,我如何限制在java中打印出的字符串数量。例如,我想要这样的东西:
Orignal String:
“在世界悠久的历史中, 只有几代人 授予捍卫自由的作用 在最危险的时刻。我做 不要畏缩这个责任 - 我欢迎它。 “
我想要这个:
“在世界悠久的历史中, 只有几代人 授予捍卫自由的作用 在最大的时刻......“
答案 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)