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

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

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

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

splitfunction适用于:

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

您需要查看正则表达式:

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

或者您也可以使用StringTokenizer。

使用:

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

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

 String input = "name:score"; final String[] splitStringArray = input.split(":"); String a = splitStringArray[0]; String b = splitStringArray[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分裂

 2 a b 

如果你有这样的东西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])); }