如何使用[
作为分隔符来分割字符串?
String line = "blah, blah [ tweet, tweet";
如果我这样做
line.split("[");
我收到错误
线程“main”中的异常java.util.regex.PatternSyntaxException: 索引1附近的未闭合字符类[
任何帮助?
答案 0 :(得分:35)
[
是正则表达式中的保留字符,您需要将其转义,
line.split("\\[");
答案 1 :(得分:4)
逃避它:
line.split("\\[");
[
是正则表达式中的一个特殊元字符,如果不是在你的情况下的字符类中,则需要进行转义。
答案 2 :(得分:4)
split
方法使用正则表达式进行操作。角色[
在这些中具有特殊意义;它用于表示[
和]
之间的字符类。如果要使用文字开头方括号,请使用\\[
将其作为特殊字符转义。有两个斜杠,因为反斜杠也用作Java String文字中的转义字符。在Java代码中输入正则表达式会有点混乱。
答案 3 :(得分:2)
请使用"\\["
代替"["
。
答案 4 :(得分:2)
[
字符被解释为特殊的正则表达式字符,因此您必须将其转义:
line.split("\\[");
答案 5 :(得分:0)
如果必须在 [] 之间拆分,则尝试 str.split("[\\[\\]]");