如何在Java中找到两个分隔符之间的字符串?

时间:2013-05-27 13:13:05

标签: java

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

如何获得

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

6 个答案:

答案 0 :(得分: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

答案 1 :(得分: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";

答案 2 :(得分:1)

一种可能的解决方案是:

str1=str.split(":");

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

str1[x].split(";");

答案 3 :(得分:1)

构造表单的正则表达式

first|second|third

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

所以使用

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

答案 4 :(得分:0)

使用

将其放入数组中
str.split(";");

像这样:

String str = ":One;Two:Three;Four:Five;Six:Seven;";
String[] foo = str.split(";");

答案 5 :(得分:-1)

你无法得到你想要的东西。

str定义为string,您希望它为array

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

String[] result = str.split(":|;");