如何使用Java分割具有特殊字符的String

时间:2015-11-29 08:47:04

标签: java regex

如何使用Java分割具有特殊字符的String?

我有非常简单的验证码,就像这样:

5 + 10

String captcha = "5 + 10";
String[] captchaSplit = captcha.split("+");

我得到错误:

  

线程“main”中的异常java.util.regex.PatternSyntaxException:   在索引0附近悬挂元字符'+'

如何解决?

谢谢。

3 个答案:

答案 0 :(得分:4)

+是正则表达式中的保留字符,splitregExp作为参数。您可以通过\\+转义它,现在它将与+匹配。

答案 1 :(得分:3)

在方括号中输入

String captcha = "5 + 10";
String[] captchaSplit = captcha.split("[+]");

答案 2 :(得分:0)

如果需要使用多个特殊符号/字符拆分String,使用包含 Splitter 类的Guava库会更方便:

    @Test
    public void testSplitter() {
        String str = "1***2***3";
        List<String> list = Lists.newArrayList(Splitter.on("***").split(str));
        Assert.assertThat(list.size(), is(3));
    }