在java中拆分字符串,如push1234

在java中拆分字符串,如push1234,java,string,split,Java,String,Split,所以,请容忍我,因为我这里有一个很长的问题,我有一些java代码,它使用数组列表来实现堆栈。我需要能够输入命令“push”向堆栈中添加内容。然而,我的问题是,它必须采用pushSTUFF格式 其中“STUFF”是任何东西,大写、小写、字符串、int等等。。我一直在尝试用字符串拆分方法实现这一点,其中PUSH是分隔符。然后,该命令被传递到开关盒 我很快意识到拆分被丢弃了,至少就我所知,并且开关盒得到了pushSTUFF而不是push作为盒输入 在思考这个问题时,我想出了两种方法来解决这个问题。我只

所以,请容忍我,因为我这里有一个很长的问题,我有一些java代码,它使用数组列表来实现堆栈。我需要能够输入命令“push”向堆栈中添加内容。然而,我的问题是,它必须采用pushSTUFF格式

其中“STUFF”是任何东西,大写、小写、字符串、int等等。。我一直在尝试用字符串拆分方法实现这一点,其中PUSH是分隔符。然后,该命令被传递到开关盒

我很快意识到拆分被丢弃了,至少就我所知,并且开关盒得到了pushSTUFF而不是push作为盒输入

在思考这个问题时,我想出了两种方法来解决这个问题。我只是不知道它们是否可行或者如何实现

所以

  • 有没有办法像pushSTUFF一样拆分字符串并保留两部分(push和STUFF)

  • 有没有一种方法可以从字符串中分割出未知长度或内容的内容(因为我不知道用户将输入什么内容,而这些内容是未知的)

  • 有没有一种方法可以告诉开关盒查找pushSTUFF而不是push(同样,因为东西是未知的)

  • 这些都有可能做到吗?如果是,你会推荐什么

    我相信还有更好的方法,但由于我仍在学习java,这些方法似乎是目前最好的。我也没有发布任何代码,因为我觉得没有必要回答这个问题。如果你需要的话,我会发一些。只要问一下,我很乐意效劳

    (tl;dr)是否可以执行上述1、2或3项中的任何一项,如果可以,如何执行?
    提前感谢。

    您可以将正则表达式与组一起使用,并迭代其中的匹配部分,而不是拆分字符串(如您所见,拆分字符将被丢弃)

    对于#1,您可以执行以下操作(伪代码):

    这也应该包括#2,因为它将在推送之后匹配所有字符

    我不完全确定你在第三章中问了什么

    如果您不熟悉java正则表达式,有一个正则表达式教程


    您还可以查看,它有一个保留分隔符的选项

    您可以搜索任何大写字母并使用String.substring(…)

    使用并查找推送:

    public class splitstring {
     public static void main(String[] args){
      String tosplit, part1, part2 = new String();
      int ind = 0;
      tosplit = "push1234";
      ind = tosplit.indexOf("push");
      part1 = tosplit.substring(ind,ind + 4);
      part2 = tosplit.substring(ind + 4, tosplit.length());
     }
    }
    

    如果格式总是push*SOMETHING*,为什么不使用String.substring()

    你可以做:

    String something=“pushSTUFF”子字符串(4)

    这样,你将永远得到推动背后的一切


    在没有看到实际代码的情况下,我真的不明白您想要实现什么,但您的问题似乎很简单,可以通过这种方式解决。

    FYI您的得票率很低,因为这个网站上有几十个(如果不是几百个)关于用Java拆分字符串的问题得到了回答。花点时间用谷歌搜索你的问题,或者看看右边一栏中的相关问题列表。几乎可以肯定,以前有人也遇到过你的问题。我在谷歌上搜索这个问题至少一个半小时了。如果我能自己找到东西,我就不会来这里寻求帮助。如果可能的话,我喜欢自学。
    public class splitstring {
     public static void main(String[] args){
      String tosplit, part1, part2 = new String();
      int ind = 0;
      tosplit = "push1234";
      ind = tosplit.indexOf("push");
      part1 = tosplit.substring(ind,ind + 4);
      part2 = tosplit.substring(ind + 4, tosplit.length());
     }
    }