是否有一个left() - Java字符串函数?

时间:2013-06-26 10:41:09

标签: java string

我有一个未知长度的字符串str(但不是null)和给定的最大长度len,这必须适合。我想做的就是将字符串剪切为len。

我知道我可以使用

str.substring(0, Math.min(len, str.length()));

但如果我尝试编写像这样的堆叠代码

,这不会派上用场
code = str.replace(" ", "").left(len)

我知道我可以编写自己的功能,但我更喜欢现有的解决方案。 Java中是否存在left()函数?

5 个答案:

答案 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));
}