2016-11-12 3 views
0

У меня есть строка "4612 CMP Computer Science Java II CMP110 A- 010", которая является курсом. Мне нужно получить биты «Computer Science» и «Java II». Я думаю, что самый простой способ сделать это - разбить его на массив, содержащий вкладки.Java разделяет строку в пробелах, но сохраняет вкладки

После 4612 - это вкладка, а также между наукой и Java.

Я хочу, чтобы разбить его, чтобы получить массив как это:

string[0] = 4612 
string[1] = " " 
string[2] = CMP 
string[3] = Computer 
string[4] = Science 
string[5] = " " 
string[6] = Java 
string[7] = II 
string[8] = CMP110 
string[9] = A- 
string[10] = 010 

ответ

-1

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

String[] subject = line.split("\t",line.length()); 

позволит мне получить то, что мне нужно.

+0

Ни ваш вопрос ясен, ни ответа. –

1

Поскольку строка конечно, кажется, имеет четко определенный формат, вы можете также использовать регулярное выражение для извлечения соответствующей информации, например .:

final String course = "4612\tCMP Computer Science\tJava II CMP110 A- 010"; 
    final Pattern pattern = Pattern.compile("^\\d+\tCMP\\s+([^\t]+)\t(.+?)\\s+CMP.*$"); 
    final Matcher matcher = pattern.matcher(course); 

    if (matcher.matches()) { 
     System.out.println("Course name: " + matcher.group(1) + " " + matcher.group(2)); 
    } 
Смежные вопросы