用省略号截断字符串的理想方法
我相信我们所有人都在Facebook状态(或其他地方)上看到省略号,然后单击“显示更多”,只有另外2个字符左右。我想这是因为懒惰编程,因为肯定有一个理想的方法。
我的将苗条字符视为“半字符”,但是当省略号几乎隐藏任何字符时,这并不能解决省略号看起来很愚蠢。[iIl1]
有没有理想的方法?这是我的:
/**
* Return a string with a maximum length of <code>length</code> characters.
* If there are more than <code>length</code> characters, then string ends with an ellipsis ("...").
*
* @param text
* @param length
* @return
*/
public static String ellipsis(final String text, int length)
{
// The letters [iIl1] are slim enough to only count as half a character.
length += Math.ceil(text.replaceAll("[^iIl]", "").length() / 2.0d);
if (text.length() > length)
{
return text.substring(0, length - 3) + "...";
}
return text;
}
语言并不重要,但被标记为Java,因为这是我最感兴趣的。