2

我能够获取数组的最后一个元素,但无法获取除最后一个元素之外的所有元素。这是我的代码,通过它我得到拆分后数组的最后一个元素:

class Main {
   public static void main(String args[]) {
      String s ="23+43*435/675-90";
      String[] ss = s.split("[-+*/]");
      String last=ss[ss.length-1];
      System.out.println(last);     
   }
}

此代码返回 90 但现在我也希望它返回结果,例如23+43*435/675-给定的字符串可以更小或更大。

4

4 回答 4

4

尝试

    String s ="23+43*435/675-90";
    s = s.replaceAll("(.*[-+*/]).*", "$1");
    System.out.println(s);

输出

23+43*435/675-
于 2013-03-26T06:05:22.813 回答
-1
String whatYouWant = s.substring(0, s.length() - last.length());
于 2013-03-26T06:04:02.650 回答
-1
public static void main(String args[]) {
    String s ="23+43*435/675-90";
    String[] ss = s.split("[-+*/]");
    String last=ss[ss.length-1];
    System.out.println(last);
    String except_last = s.substring(0, s.length() - last.length());
    System.out.println(except_last);
}
于 2013-03-26T06:23:42.440 回答
-3

你最好的选择是:

String[] s3 = new String[ss.length-1];
System.arraycopy(ss, 0, s3, 0, ss.length-1);

或者用 Python 来做。

不幸的是,没有方便的方法将您的子数组重新连接成字符串,但是如果您想要一个子数组,那么您就可以开始了。

于 2013-03-26T06:02:49.580 回答