截取规则字符串的问题

图片说明

    01;0111;01111;
    01;01111;0111101;
    01;01111;01111101;
    取
    01;01;01;
    01;01;01111;
    01;01;01111;
LZ可以参考下.

public static void main(String[] args)
{
    String[] treeNodes = new String[3];
    treeNodes[0] = "01";
    treeNodes[1] = "0110";
    treeNodes[2] = "01100";
    findRoot(treeNodes);

    treeNodes[0] = "0110";
    treeNodes[1] = "01";
    treeNodes[2] = "01100";
    findRoot(treeNodes);

    treeNodes[0] = "0110";
    treeNodes[1] = "10";
    treeNodes[2] = "00100";
    findRoot(treeNodes);

}

public static String findRoot(String[] treeNodes)
{
    //根节点一定是长度最短的节点
    int nodeLength = Integer.MAX_VALUE;
    int currentLength = 0;
    String root = "";
    for (int i = 0; i < treeNodes.length; i++)
    {
        currentLength = treeNodes[i].length();
        if (currentLength < nodeLength)
        {
            root = treeNodes[i];
            nodeLength = currentLength;
        }
    }

    //所有的节点必须以根节点开头
    int count = 0;
    for (int i = 0; i < treeNodes.length; i++)
    {
        if (treeNodes[i].startsWith(root))
        {
            count++;
        }
    }

    if (count == treeNodes.length)
    {
        System.out.println("Root is: " + root);
    }
    else
    {
        System.out.println("There is no root");
    }

    return root;
}

正则表达式应该可以,但是我不会

看不出来你要截取的这些数据有什么规律啊

能把具体情况详细描述一下,这些数据是想通过那种语言来做(数据库还是 某种编程语言)

比如 01 ,0101,01101,这样的我只想取01 ,就是去它的父级

比如 01 ,0101,01101, 0110101, 就是这样的说 我想去 前面的 01,01101 这样的数据 我这样的是想做能树形目录,想求一个具体的逻辑。

大家都没有搞清楚你要问啥。。。你可以再详细清楚地再说一遍