删除String的最后两个字符

时间:2015-06-08 11:30:59

标签: java string substring

如何删除简单字符串的最后两个字符05

简单:

"apple car 05"

代码

String[] lineSplitted = line.split(":");
String stopName = lineSplitted[0];
String stop =   stopName.substring(0, stopName.length() - 1);
String stopEnd = stopName.substring(0, stop.length() - 1);
分裂前的

原始行“:”

apple car 04:48 05:18 05:46 06:16 06:46 07:16 07:46 16:46 17:16 17:46 18:16 18:46 19:16

7 个答案:

答案 0 :(得分:72)

减去最后一个空格的-2-3基础。

 public static void main(String[] args) {
        String s = "apple car 05";
        System.out.println(s.substring(0, s.length() - 2));
    }

<强>输出

apple car

答案 1 :(得分:19)

使用String.substring(beginIndex, endIndex)

str.substring(0, str.length() - 2);

子字符串从指定的beginIndex开始并扩展到index处的字符(endIndex - 1)

答案 2 :(得分:4)

您可以使用以下方法删除最后n个字符 -

public String removeLast(String s, int n) {
    if (null != s && !s.isEmpty()) {
        s = s.substring(0, s.length()-n);
    }
    return s;
}

答案 3 :(得分:1)

您可以使用substring功能:

s.substring(0,s.length() - 2));

使用第一个0,您要对substring说它必须从字符串的第一个字符开始,并且s.length() - 2必须在字符串之前完成2个字符结束。

有关substring功能的详细信息,请参阅此处:

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html

答案 4 :(得分:1)

您也可以尝试以下代码进行异常处理。这里有一个方法removeLast(String s, int n)(它实际上是 masud.m &#39;答案的修改版本)。您必须提供String以及要从此char函数的最后一个removeLast(String s, int n)删除的char。如果String s必须从最后删除的数量大于给定的StringIndexOutOfBoundException长度,那么它会抛出public String removeLast(String s, int n) throws StringIndexOutOfBoundsException{ int strLength = s.length(); if(n>strLength){ throw new StringIndexOutOfBoundsException("Number of character to remove from end is greater than the length of the string"); } else if(null!=s && !s.isEmpty()){ s = s.substring(0, s.length()-n); } return s; } 并带有自定义消息 -

Input type = text--> Alpha numeric keyboard in both iOS and Android
Input type = tel and Input type = text with pattern as 0-9 --> Number dialer keypad in both iOS and Android
Input type = number --> Numeric symbol keyboard in iOS, Numeric Keypad in android.

答案 5 :(得分:0)

几乎是正确的,只需改变你的最后一行:

String stopEnd = stop.substring(0, stop.length() - 1); //replace stopName with stop.

你可以替换最后两行;

String stopEnd =   stopName.substring(0, stopName.length() - 2);

答案 6 :(得分:0)

另一种解决方案是使用某种regex

例如:

    String s = "apple car 04:48 05:18 05:46 06:16 06:46 07:16 07:46 16:46 17:16 17:46 18:16 18:46 19:16";
    String results=  s.replaceAll("[0-9]", "").replaceAll(" :", ""); //first removing all the numbers then remove space followed by :
    System.out.println(results); // output 9
    System.out.println(results.length());// output "apple car"