检查|或||正则表达式

时间:2013-03-15 03:55:43

标签: java regex

这是我要拆分的示例字符串。我正在使用string.split("\\|")。但由于弦本身具有双重矛状,我正在接受#34;"为此。

我想检查以使用派克|或双派克||拆分字符串。

aaa|bbb|ccc|ddd||eee|iii||

5 个答案:

答案 0 :(得分:3)

您可以使用

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

?使第二个管道可选。

您可能还想使用:

string.split("\\|+")

如果您连续两行以上,则为“一个或多个|”。

答案 1 :(得分:2)

您可以指定发生范围:

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

答案 2 :(得分:2)

您可以使用此正则表达式: -

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

答案 3 :(得分:1)

试试这个:

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

答案 4 :(得分: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);
        }

    }
}