如何使用Java拆分具有特殊字符的字符串

如何使用Java拆分具有特殊字符的字符串,java,regex,Java,Regex,如何使用Java拆分具有特殊字符的字符串 我有非常简单的验证码,如下所示: 5+10 我得到一个错误: 线程主java.util.regex.PatternSyntaxException中的异常: 索引0附近悬空的元字符“+” 如何修复它 谢谢。+是正则表达式中的保留字符,并将regExp作为参数。您可以通过\\+将其转义,现在匹配+。在方括号中键入它 String captcha = "5 + 10"; String[] captchaSplit = captcha.split("[+]");

如何使用Java拆分具有特殊字符的字符串

我有非常简单的验证码,如下所示:

5+10

我得到一个错误:

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

如何修复它


谢谢。

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

在方括号中键入它

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

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


您可能希望在*[+]*上拆分,以修剪空格的目标。
String captcha = "5 + 10";
String[] captchaSplit = captcha.split("[+]");
    @Test
    public void testSplitter() {
        String str = "1***2***3";
        List<String> list = Lists.newArrayList(Splitter.on("***").split(str));
        Assert.assertThat(list.size(), is(3));
    }