在java中从字符串数组中拆分数字
我想把所有的数字分割成字符串,然后转储成数字。你是怎么做到的 类似的方程是:2x^4-45y^4在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的答案,似乎我包括了一个不必要的步骤。我想我还是把它留在这
它应该在索引上按编号转储为:{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它将无法编译。那么如何编译呢。你是怎么分的?