[英]How to split a string in Java and then push numbers into one list and operators into another?
[英]Split a string on whitespace, numbers, and operators with regex
我想知道是否有可能在空格上拆分字符串,并避免所有数字,空格和运算符,如+和 -
这就是我所拥有的,但我认为这是不正确的
String [] temp = expression.split("[ \\+ -][0-9] ");
假设我有一个表达式
x+y+3+5+z
我想摆脱其他一切,只将x,y和z放入数组中
我想你的意思是:
String[] temp = expression.split("[\\s0-9+-]+");
这分为空白,0到9, +
和-
。 请注意,字符出现在单个字符类中,而不是多个单独的字符类。 此外-
不需要在此处转义,因为它位于字符类的末尾。
我想这就是你所追求的:
String[] tmp = expression.split("[^a-zA-Z]+");
应该将分隔符视为不是字母序列的任何内容 。
测试运行
public class foo {
static public void main(String[] args) {
String[] res = args[0].split("[^a-zA-Z]+");
for (String r: res) {
System.out.println(r);
}
}
}
% javac foo.java
% java foo x+y+3+5+z
x
y
z
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.