簡體   English   中英

使用正則表達式在空格,數字和運算符上拆分字符串

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM