拆分后如何获得正确的子串?

时间:2011-05-04 22:50:12

标签: java

我有一个这样的字符串:[name ;24, name;23, name;22]。如何拆分此字符串以仅获取“;”之后的数字?

3 个答案:

答案 0 :(得分:3)

String s = "[name ;24, name;23, name;22]";
String couples[] = s.replace("]", "").split(",");
int ages[] = new int[couples.length];
for (int i=0; i< couples.length; i++)
    ages[i] = Integer.parseInt(couples[i].split(";")[1]);

答案 1 :(得分:1)

// Your input looks like this.
String s = "[name ;24, name;23, name;22]";

String[] numberStrings = s
    // First get rid of the known prefix and suffix
    .substring("[name ;".length(), s.length - "]".length())
    // Then split on the repeated portion that occurs between numbers.
    .split(", name;");

答案 2 :(得分:0)

另一种方法

String str = "name ;24, name;23, name;22";
int p = 0;
while ((p  = str.indexOf(";", p + 1))  > -1) {
    System.out.println(str.substring(p+1).split("[^0-9]")[0]);
}