【问题标题】:Split using a bracket使用括号拆分
【发布时间】:2011-11-15 19:06:13
【问题描述】:

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

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

如果我这样做了

line.split("[");

我收到一个错误

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

有什么帮助吗?

【问题讨论】:

    标签: java regex split


    【解决方案1】:

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

    line.split("\\[");
    

    【讨论】:

      【解决方案2】:

      只是逃避它:

      line.split("\\[");
      

      [ 是正则表达式中的一个特殊元字符,如果不在字符类中(例如您的情况),则需要对其进行转义。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

          请使用"\\[" 而不是"["

          【讨论】:

            【解决方案5】:

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

            line.split("\\[");

            【讨论】:

              【解决方案6】:

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

              【讨论】:

                猜你喜欢
                • 2015-08-08
                • 1970-01-01
                • 2018-09-12
                • 2021-08-19
                • 1970-01-01
                • 1970-01-01
                • 2017-08-24
                • 2020-07-03
                • 1970-01-01
                相关资源
                最近更新 更多