Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中从字符串数组中拆分数字_Java_Regex_String - Fatal编程技术网

在java中从字符串数组中拆分数字

在java中从字符串数组中拆分数字,java,regex,string,Java,Regex,String,我想把所有的数字分割成字符串,然后转储成数字。你是怎么做到的 类似的方程是:2x^4-45y^4 它应该在索引上按编号转储为:{2,4,45,4} 我要做的是字符串。用空格替换所有非数字。然后String。按空格拆分 String Equation = input.nextLine(); String[] number = Equation.split("\d+"); 这将打印“[2,4,45,4]” 现在我明白了@RohitJain的答案,似乎我包括了一个不必要的步骤。我想我还是把它留在这

我想把所有的数字分割成字符串,然后转储成数字。你是怎么做到的

类似的方程是:2x^4-45y^4


它应该在索引上按编号转储为:{2,4,45,4}

我要做的是
字符串。用空格替换所有非数字。然后
String。按空格拆分

String Equation = input.nextLine();
String[] number = Equation.split("\d+");
这将打印“[2,4,45,4]”



现在我明白了@RohitJain的答案,似乎我包括了一个不必要的步骤。我想我还是把它留在这里吧,因为它确实有效,但我推荐他的解决方案。他的解在所有非数字上都分裂。由于
split
排除了分隔符,这也会删除非数字

我要做的是
字符串。用空格替换所有非数字。然后
String。按空格拆分

String Equation = input.nextLine();
String[] number = Equation.split("\d+");
这将打印“[2,4,45,4]”



现在我明白了@RohitJain的答案,似乎我包括了一个不必要的步骤。我想我还是把它留在这里吧,因为它确实有效,但我推荐他的解决方案。他的解在所有非数字上都分裂。由于
split
排除了分隔符,这也会删除非数字

您可以在一个或多个非数字字符上拆分-
\\D+

package com.sandbox;


import java.util.Arrays;

public class Sandbox {
    public static void main(String[] args) {
        String input = "2x^4 - 45y^4";
        input = input.replaceAll("\\D", " ");
        String[] parts = input.split("\\W+");

        System.out.println(Arrays.toString(parts));
    }
}

在使用Java正则表达式时,需要双重转义
\d
\d
,等等。请遵循Java命名约定。变量应命名为
等式
,而不是
等式

您可以在一个或多个非数字字符上拆分-
\\D+

package com.sandbox;


import java.util.Arrays;

public class Sandbox {
    public static void main(String[] args) {
        String input = "2x^4 - 45y^4";
        input = input.replaceAll("\\D", " ");
        String[] parts = input.split("\\W+");

        System.out.println(Arrays.toString(parts));
    }
}

在使用Java正则表达式时,需要双重转义
\d
\d
,等等。请遵循Java命名约定。变量应命名为
等式
,而不是
等式

java中没有转义序列
\d
。您的代码将无法编译。@RaptorDotCpp它将无法编译。那么如何编译呢。你是如何分割它们的?java中没有转义序列
\d
。您的代码将无法编译。@RaptorDotCpp它将无法编译。那么如何编译呢。你是怎么分的?