使用分割条件分割字符串数组

3
假设我想要分割字符串,
String line = "ABCDEFG";

Into,

{"ABCD","EFG"}

我会这样做:

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

但它给了我,
{"ABC","EFG"}

注意到'D'字母缺失了,如何在保留该字符的情况下进行分割?

{btsdaf} - AntonH
{btsdaf} - tee
@CharinduEdirisooriya 你可能需要检查一下你的包含文件,因为它是可以工作的(尽管使用的是 E 而不是 D):https://www.ideone.com/yiY613 - AntonH
1
{btsdaf} - ΦXocę 웃 Пepeúpa ツ
@CharinduEdirisooriya 可能是你的正则表达式中还有其他导致实际消息出错的内容。你能提供一下你尝试让其工作的实际正则表达式吗? - AntonH
显示剩余2条评论
1个回答

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');

我通过在要分割的字符前添加一个特殊字符,然后从特殊字符处进行分割来解决了这个问题。这个答案似乎也有效! - Elinoter99

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接