我有一个未知长度的字符串str(但不是null)和给定的最大长度len,这必须适合。我想做的就是将字符串剪切为len。
我知道我可以使用
str.substring(0, Math.min(len, str.length()));
但如果我尝试编写像这样的堆叠代码
,这不会派上用场code = str.replace(" ", "").left(len)
我知道我可以编写自己的功能,但我更喜欢现有的解决方案。 Java中是否存在left()函数?
答案 0 :(得分:17)
没有内置的东西,但是Apache commons有StringUtils类,它有适合你的left函数。
答案 1 :(得分:3)
如果您不想添加StringUtils库,您仍然可以按照自己喜欢的方式使用它:
CA AR
1 8 22
答案 2 :(得分:2)
使用拆分。
String str = "Result string Delimiter Right String";
System.out.println(str.split("Delimiter")[0].trim());
输出:“结果字符串”
答案 3 :(得分:1)
left()
类中没有String
,因为您可以引用API。但正如@Mark所说,Apache StringUtils
有几种方法:leftPad()
,rightPad()
,center()
和repeat()
。你也可以检查一下
这样:http://www.jdocs.com/lang/2.1/org/apache/commons/lang/StringUtils.html
答案 4 :(得分:0)
将以下函数放在一个类中:
public static String getLeftString(String st,int length){
int stringlength=st.length();
if(stringlength<=length){
return st;
}
return st.substring((stringlength-length));
}