-6
String str = ":One;Two:Three;Four:Five;Six:Seven;"

怎么获得

str[1]="One"
str[2]="Three"
str[3]="Five"
str[4]="Seven"
4

6 回答 6

4

你可以这样做:

String [] tokens = str.replaceAll(";\\w*:?",":").split(":");

第一部分删除您不需要的单词(二,四...),第二部分将其余部分分开。请注意,tokes[0]根据您的规范,结果 ( ] 中的第一项为空。

例子:

public static void main(String[] args) {
    String str = ":One;Two:Three;Four:Five;Six:Seven;";
    String [] tokens = str.replaceAll(";\\w*:?",":").split(":");
    for (int i = 0; i < tokens.length; i++) {
        System.out.println("token[" + i + "] = " + tokens[i]);
    }
}

印刷

token[0] = 
token[1] = One
token[2] = Three
token[3] = Five
token[4] = Seven
于 2013-05-27T13:24:24.190 回答
4

希望对你有帮助

    String str = ":One;Two:Three;Four:Five;Six:Seven;"
    str=str.replace(":",",");
    str=str.replace(";",",");

    String [] tokens = str.split(",");

    token[1]="one";
     token[3]="three";
     token[5]="five";
     token[7]="seven";
于 2013-05-27T13:34:08.953 回答
1

一种可能的解决方案是:

str1=str.split(":");

之后,对于数组 str1 的每个成员:

str1[x].split(";");
于 2013-05-27T13:15:18.607 回答
1

构造形式的正则表达式

first|second|third

然后使用 String 的 split() 方法通过任何分隔符分割文本。

所以用

String [] tokens = str.split(":|;"); 
于 2013-05-27T13:18:33.673 回答
0

使用将其放入数组中

str.split(";");

像这样:

String str = ":One;Two:Three;Four:Five;Six:Seven;";
String[] foo = str.split(";");
于 2013-05-27T13:14:37.517 回答
-1

你不能得到你想要的。

str被定义为string并且您希望它是array.

您需要使用另一个变量来获得结果。使用str.split(":|;")函数并将结果存储在String[] result

String[] result = str.split(":|;");
于 2013-05-27T13:19:21.847 回答