2013-03-15 44 views
1

這是我想要分割的示例字符串。我正在使用string.split("\\|")。但由於弦本身具有雙重性,所以我得到了這個。檢查|或||正則表達式

我想檢查與派克拆分字符串|或雙派克||

aaa|bbb|ccc|ddd||eee|iii|| 
+0

爲了記錄,它被稱爲* pipe *字符。 – wchargin 2013-03-15 04:03:03

回答

3

您可以使用

string.split("\\|\\|?") 

?使第二管可選。

你也可以使用:

string.split("\\|+") 

是萬一「的一個或多個|」你在一排有兩個以上。

2

你可以指定一個發生範圍:

"aaa|bbb|ccc|ddd||eee|iii||".split("\\|{1,2}") 
2

您可以使用此正則表達式來代替: -

String regex = "\\|\\|?"; 
str.split(regex); 
1

試試這個:

string.split("\\|{1,2}"); 
// A pipe ------^^^ 
// once   | | 
//  or twice | 
0

你可以試試這個正則表達式:String[] splits = yourString.split("[|||]+"); +將連續的分隔符作爲一個字符。如果你不想要這個,你可以刪除加號。示例如下所示:

public class RegexTest { 

    public static void main(String[] args) { 
     String yourString = "aaa|bbb|ccc|ddd||eee|iii||"; 
     String[] splits = yourString.split("[|||]+"); 
     for (String split : splits) { 
      System.out.println(split); 
     } 

    } 
} 
+0

wat在角色課中需要3根管子嗎? – 2013-03-15 05:10:19