使用支架拆分

时间:2011-11-15 19:06:14

标签: java regex split

如何使用[作为分隔符来分割字符串?

String line = "blah, blah [ tweet, tweet";

如果我这样做

line.split("[");

我收到错误

  

线程“main”中的异常java.util.regex.PatternSyntaxException:   索引1附近的未闭合字符类[

任何帮助?

6 个答案:

答案 0 :(得分:35)

[是正则表达式中的保留字符,您需要将其转义,

line.split("\\[");

答案 1 :(得分:4)

逃避它:

line.split("\\[");

[是正则表达式中的一个特殊元字符,如果不是在你的情况下的字符类中,则需要进行转义。

答案 2 :(得分:4)

split方法使用正则表达式进行操作。角色[在这些中具有特殊意义;它用于表示[]之间的字符类。如果要使用文字开头方括号,请使用\\[将其作为特殊字符转义。有两个斜杠,因为反斜杠也用作Java String文字中的转义字符。在Java代码中输入正则表达式会有点混乱。

答案 3 :(得分:2)

请使用"\\["代替"["

答案 4 :(得分:2)

[字符被解释为特殊的正则表达式字符,因此您必须将其转义:

line.split("\\[");

答案 5 :(得分:0)

如果必须在 [] 之间拆分,则尝试 str.split("[\\[\\]]");