使用分隔符将Java字符串拆分为两个字符串

时间:2011-10-16 21:15:17

标签: java regex string

我有一个值为name:score的字符串。我想将字符串拆分为两个字符串,字符串a的值为name,字符串b的值为score

执行此操作的正确函数/语法是什么?

我查看了string.split,但找不到实际的语法将数据返回到两个单独的字符串中。

7 个答案:

答案 0 :(得分:33)

split函数适用于:

String[] str_array = "name:score".split(":");
String stringa = str_array[0]; 
String stringb = str_array[1];

答案 1 :(得分:6)

您需要查看正则表达式:

String[] s = myString.split("\\:"); // escape the colon just in case as it has special meaning in a regex

或者您也可以使用StringTokenizer。

答案 2 :(得分:2)

使用:

String [] stringParts = myString.split(":");

答案 3 :(得分:2)

String row = "name:12345";
String[] columns = row.split(":");
assert columns.length == 2;
String name = columns[0];
int score = Integer.parseInt(columns[1]);

答案 4 :(得分:1)

Split会创建一个包含字符串的数组:

String input = "name:score";
final String[] splitStringArray = input.split(":");
String a = splitStringArray[0];
String b = splitStringArray[1];

答案 5 :(得分:1)

$ cat Split.java

public class Split {
    public static void main(String argv[]) {
        String s = "a:b";
        String res[] = s.split(":");
        System.out.println(res.length);
        for (int i = 0; i < res.length; i++)
            System.out.println(res[i]);
    }
}

$ java Split

2
a
b

答案 6 :(得分:1)

如果你有这样的东西a:1:2 name = a:1 ??

 private String extractName(String str) {
    String[] split = str.split(":");
    return str.replace(split[split.length - 1], "");
  }

  private int extractId(String str){
    String[] split  = str.split(":");
    return  Integer.parseInt(CharMatcher.DIGIT.retainFrom(split[split.length-1]));
  }
相关问题