[英]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.