是否有类似Java的C#子串?我正在为Blackberry设备创建一个移动应用程序,由于屏幕限制,我只能显示13个字母加上三个点作为省略号.
有关如何实现这一目标的任何建议?
我需要简单的Java,而不是一些花哨的技巧,因为我怀疑移动设备是否可以访问完整的框架.至少在我一年前使用Java ME的经验中.
jjn*_*guy 52
你可以完全按照自己的意愿行事String.substring().
String str = "please truncate me after 13 characters!";
if (str.length() > 16)
str = str.substring(0, 13) + "..."
Run Code Online (Sandbox Code Playgroud)
Col*_*inD 36
String foo = someString.substring(0, Math.min(13, someString.length()));
Run Code Online (Sandbox Code Playgroud)
编辑:仅供一般参考,从Guava 16.0开始,您可以:
String truncated = Ascii.truncate(string, 16, "...");
Run Code Online (Sandbox Code Playgroud)
使用省略号截断最多16个字符的长度.
在旁边
但是请注意,截断字符串以便按字符显示对于任何可能需要考虑i18n的内容来说都不是一个好的系统.它至少有一些不同的问题:
e后面的组合字符(例如后跟一个强调该字符的组合字符e.)由于这些原因(及其他),我的理解是,截断了在UI显示最佳实践是真正淡出屏幕上的点上的文字的渲染,而不是截断基础字符串.