我知道如何分割带有特殊字符的字符串,如空格:
String numbers = "22 14 10 8 70";
int [] n1 = new int [numbers.length()];
for(int n = 0; n < numbers.length(); n++) {
n1[n] = Integer.parseInt(numbers.split(" ")[n]);
}
但是我想用任何非数字(也就是负号和浮点)字符分割String;喜欢这个字符串:
String numbers = "22+14/10*8-70";
答案 0 :(得分:3)
尝试此算法Shunting-yard algorithm。
分流码算法是一种解析数学的方法 中缀表示法中指定的表达式。
答案 1 :(得分:0)
答案 2 :(得分:-1)
String.split()可以拆分正则表达式字符串:
String numbers = "22+14/10*8-70";
String[] elements = numbers.split("[^0-9\\.]");
for(String e : elements)
{
System.out.println("Element: " + e);
}
打印:
Element: 22
Element: 14
Element: 10
Element: 8
Element: 70