分割字符串需要帮助

时间:2012-11-14 10:03:05

标签: java string split

我正在尝试拆分字符串

String strLine="sadf={asdf;=};asdfa ={sfasdf} as}; asdfa ={sfasdf};";

这样输出应该是这样的

   ={asdf;=};
   ={sfasdf} as};
   ={sfasdf};

我试过这段代码

String str1=strLine.substring((strLine.indexOf("=")),strLine.indexOf(";")+1);
        strLine=strLine.substring((strLine.indexOf(";")+1));

但我没有得到我想要的结果..

4 个答案:

答案 0 :(得分:4)

可能不是最优雅的方式,但它可以满足您的需求:

    String[] st = strLine.split("};");
    for (String s : st) {
        System.out.println(s.substring(s.indexOf("=")) + "};");
    }

答案 1 :(得分:1)

试试这个:

int i1 = strLine.indexOf("=");
int i2 = strLine.indexOf("};", i1);
String s = strLine.substring(i1, i2 + 2);

答案 2 :(得分:0)

您不需要拆分字符串。我建议您使用正则表达式来实现此目的。在搜索中找到模式。

对于一个想法,尝试使用=搜索模式开头,最后使用{}和分号。

找到与该模式匹配的所有组。

示例:

Regular Expression = ".*(=\{.*\}.*;)*.*"

答案 3 :(得分:0)

        String strLine="sadf={asdf;=};asdfa ={sfasdf} as}; asdfa ={sfasdf};";

        String[] s=strLine.split("};");
        String str1=s[0]+"};";
        String str2=s[1]+"};";
        String str3=s[2]+"};";
        System.out.println(str1+" "+str2+" "+str3);