我對如何限制在java中打印出的字符串的數量有疑問。比如我想是這樣的:如何限制打印出的字符串的數量(JAVA)
一部開拓創新的字符串:
「在世界的悠久歷史, 只有少數幾代人被 授予最高時捍衛自由 的作用。危險我也 不畏縮於這一責任 - 我歡迎它「
我想這一點:
。「在世界的悠久歷史, 只有少數幾代人被授予 最大的時捍衛自由 的作用......」
我對如何限制在java中打印出的字符串的數量有疑問。比如我想是這樣的:如何限制打印出的字符串的數量(JAVA)
一部開拓創新的字符串:
「在世界的悠久歷史, 只有少數幾代人被 授予最高時捍衛自由 的作用。危險我也 不畏縮於這一責任 - 我歡迎它「
我想這一點:
。「在世界的悠久歷史, 只有少數幾代人被授予 最大的時捍衛自由 的作用......」
使用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))
String yourString = "very long string";
maxCharToPrint= 10;
System.out.println(yourString.substring(0, maxCharToPrint));
什麼如果yourString.length()== 5? 正確,線程中的異常「main」java.lang.StringIndexOutOfBoundsException:字符串索引超出範圍。「 – DmitrySandalov
您可以使用的東西例如:
if (s.length() > 25)
System.out.println (s.substring (0,22) + "...");
else
System.out.println (s);
這可以讓字符串打印得足夠短,而縮短(帶省略號)那些太長的字符串。
String s = "your long sentence"
s.Substring(start, end);
你的情況
s.Substring(0, max);
您也可以使用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)
好的!不知道BreakIterator! – ahans
謝謝!我知道如何做到這種長效低效的方式...我想知道是否有內置的方式來做到這一點。謝謝!我會接受這個。 – thunderousNinja