在Java中给定一个字符串,只需取前X个字母
是否有类似Java的C#子字符串?我正在为Blackberry设备创建一个移动应用程序,由于屏幕限制,我只能显示13个字母加上3个点作为省略号
有没有关于如何实现这一目标的建议
我需要的是简单的Java,而不是一些花哨的把戏,因为我怀疑移动设备是否能够访问完整的框架。至少在我一年前使用Java的经验中是这样
你可以在下面搜索框中键入要查询的问题!
是否有类似Java的C#子字符串?我正在为Blackberry设备创建一个移动应用程序,由于屏幕限制,我只能显示13个字母加上3个点作为省略号
有没有关于如何实现这一目标的建议
我需要的是简单的Java,而不是一些花哨的把戏,因为我怀疑移动设备是否能够访问完整的框架。至少在我一年前使用Java的经验中是这样
# 1 楼答案
你可以用
String.substring()
做你想做的事# 2 楼答案
每当有一些您认为是非常常见的操作要执行时,Java API要求您检查边界、捕获异常、使用
Math.min()
等等(即需要比您预期的更多的工作),请检查Apache的commons-lang。它几乎总是以更简洁的格式出现。在本例中,您将使用StringUtils#substring
,它为您处理错误案例。下面是javadoc所说的:# 3 楼答案
编辑:仅供一般参考,从Guava 16.0开始,您可以执行以下操作:
以省略号截断最多16个字符
旁白
不过,请注意,对于可能需要考虑i18n的任何情况,截断字符串以按字符显示都不是一个好的系统。它(至少)有几个不同的问题:
e
后跟强调该e
的组合字符。)李>出于这些原因(以及其他原因),我的理解是,在UI中显示截断的最佳实践是在屏幕上正确的位置淡出文本的呈现,而不是截断底层字符串