Разделить строку Java на две строки с помощью разделителя - PullRequest
11 голосов
/ 17 октября 2011

У меня есть строка, которая имеет значение name:score. Я хочу разбить строку на две строки: строку a со значением name и строку b со значением score.

Какова правильная функция / синтаксис для этого?

Я посмотрел на string.split, но не могу найти фактический синтаксис для возврата данных в две отдельные строки.

Ответы [ 7 ]

33 голосов
/ 17 октября 2011

Для этого подходит функция split:

String[] str_array = "name:score".split(":");
String stringa = str_array[0]; 
String stringb = str_array[1];
6 голосов
/ 17 октября 2011

Вы должны посмотреть на регулярные выражения:

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

Или вы также можете использовать StringTokenizer.

2 голосов
/ 17 октября 2011
String row = "name:12345";
String[] columns = row.split(":");
assert columns.length == 2;
String name = columns[0];
int score = Integer.parseInt(columns[1]);
2 голосов
/ 17 октября 2011

Использование:

String [] stringParts = myString.split(":");
1 голос
/ 13 мая 2014

что если у вас есть что-то вроде этого: 1: 2 имя = а: 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]));
  }
1 голос
/ 17 октября 2011

$ 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
1 голос
/ 17 октября 2011

Split создает массив с вашими строками в нем:

String input = "name:score";
final String[] splitStringArray = input.split(":");
String a = splitStringArray[0];
String b = splitStringArray[1];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...