Java 我需要得到两个像这样的字符串的数字;5+;7",;,但是当我使用.split(\\+;)时,只能得到第一个,我怎么能同时得到这两个呢?

Java 我需要得到两个像这样的字符串的数字;5+;7",;,但是当我使用.split(\\+;)时,只能得到第一个,我怎么能同时得到这两个呢?,java,string,split,Java,String,Split,您的代码应该可以正常工作,但我会尝试使其更健壮: String x = "5+7"; String []n = x.split("\\+"); System.out.println(n[0]); // =5 System.out.println(n[1]); // =\ \\s*将允许数字和+字符之间可能存在空白。使用 String test = "5 + 7"; String[] tokens = test.split("\\s*\\+\\s*"); for (Strin

您的代码应该可以正常工作,但我会尝试使其更健壮:

String x = "5+7";
String []n = x.split("\\+");

System.out.println(n[0]); //  =5
System.out.println(n[1]); //  =\
\\s*
将允许数字和
+
字符之间可能存在空白。

使用

  String test = "5 + 7";
  String[] tokens = test.split("\\s*\\+\\s*");

  for (String token : tokens) {
     System.out.println(token);
  }

这将正确地拆分它。

您确定您的代码不起作用吗?它实际上起作用了@Droidman我不认为代码会在当前的状态下工作,因为有坏的注释。这比原始海报的代码好多少?我在使用x.split(“[+]”)时遇到了这个错误;5---这是n[0],但在n[1]中,在线程“AWT-EventQueue-0”java.lang.ArrayIndexOutOfBoundsException中显示了此错误异常:1
x.split("[+]");