【问题标题】:Split String Array with the split condtioner使用拆分调节器拆分字符串数组
【发布时间】:2018-04-04 09:11:09
【问题描述】:

假设我想拆分,

String line = "ABCDEFG";

进入,

{"ABCD","EFG"}

我会这样做,

String[] alpha = line.split('D');

但是给了我,

{"ABC","EFG"}

注意到“D”不见了,如何在保留字符的同时拆分它?

【问题讨论】:

  • 它具有前瞻性。我认为String[] alpha = line.split("(?=D)"); 应该可以工作。
  • 也可以创建一个arrayList,每四个字符进行一次拆分
  • 我实际上是在拆分用户输入,所以我不知道输入是什么所以可以这样做
  • @AntonH 我明白了,线程“主”java.util.regex.PatternSyntaxException 中的异常:悬空元字符“?”靠近索引 0 ?=
  • 但是标准是什么?分成 4 个字符组?

标签: java arrays split


【解决方案1】:

我做了一个函数来做你想做的事。

public static String[] splitWise(String line,char a){
    String[] res= {"",""};
    Boolean added=false;
    for(int i=0;i<line.length()-1;i++)
    {
        if(line.charAt(i)==a)
        {
            //change next line if you want the element you split in the second element of the array
            res[0]+= line.charAt(i);
            added=true;
        }else if(!added){
            res[0] += line.charAt(i);

        }else
            res[1] += line.charAt(i);

    }
    return res;
}

我想这就是你想要的。你只需要像这样调用函数:

String[] alpha = splitWise(line,'D');

【讨论】:

  • 我想办法绕过它,在我要从中拆分的章程前面添加一个特殊字符,然后将其从特殊字符中拆分出来。这个答案似乎也有效!
猜你喜欢
  • 1970-01-01
  • 2020-12-01
  • 1970-01-01
  • 2021-12-12
  • 2023-03-20
  • 2013-11-18
  • 1970-01-01
  • 2018-06-09
  • 1970-01-01
相关资源
最近更新 更多