【问题标题】:I'm trying to split my string with multiple symbols in split() method but it's not working我试图在 split() 方法中用多个符号拆分我的字符串,但它不起作用
【发布时间】:2020-08-04 19:13:18
【问题描述】:

我正在尝试拆分我的正则表达式,但由于某种原因它没有拆分。这是我的代码

String str = "sdef@srdfsrd[es[edf@edfv";
String[] arrOfStr = str.split("\\@\\["); 
for (String a : arrOfStr) 
{
  System.out.println(a);
}

输出:

sdef@srdfsrd[es[edf@edfv

预期输出:

sdef
srdfsrd
es
edf
edfv

同样的问题:

String[] arrOfStr = str.split(",:");  //not splitting the word at all

【问题讨论】:

    标签: java regex split


    【解决方案1】:

    "\\@\\[" 匹配 @[,这 not 在您的字符串中。将您的正则表达式更改为"[@\\[]",即character class - 这意味着它将在@[ 上拆分。

    查看演示 here :)

    【讨论】:

      【解决方案2】:

      使用"@|\\[ 而不是\\@\\[

      请注意,在正则表达式模式中,|OR 一样工作,即通过使用 "@|\\[,您指示代码在 @ OR 上拆分给定字符串 [

      或者,您可以使用[@\\[],其中[] 指定character classes

      演示:

      public class Main {
          public static void main(String[] args) {
              String str = "sdef@srdfsrd[es[edf@edfv";
              String[] arrOfStr = str.split("@|\\[");
              for (String a : arrOfStr) {
                  System.out.println(a);
              }
          }
      }
      

      输出:

      sdef
      srdfsrd
      es
      edf
      edfv
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-26
        • 1970-01-01
        • 1970-01-01
        • 2022-01-09
        • 2014-02-25
        • 1970-01-01
        相关资源
        最近更新 更多