2013-10-03 2 views
-3

Попытка разбить строку в java запятыми.Включить пробел при использовании split

String example = "This,Is, An, Example, Split, Palm Bay" 
example.split(","); 

расколов, но останавливается, как только она попадает пустое пространство, так что я в результате String [] содержит только «Это» и «Is».

Ниже приведена часть моего кода, с которым у меня возникают проблемы, если у меня есть пробел на входе от сканера, разделение останавливается на нем.

Scanner scanner = new Scanner(System.in); 
     String customerDetails = scanner.next(); 
     String[] details = customerDetails.split(","); 
     if(details.length < 5) { 
      for(int i = 0; i < details.length; i++) { 
       System.out.println(details[i]); 
      } 
      System.out.println("Cannot complete your request, it appears that you have not entered enough information"); 
      return; 
     } 
     if(directory.addCustomer(new CustomerType(details[0], details[1], details[2], details[3], details[4]))) 
+5

В коде вопроса нет ничего плохого. Какая бы проблема ни была, это где-то еще. http://ideone.com/MyylFh –

+0

Mine содержит '[This, Is, An, Example, Split, Palm Bay]', вывод 'Arrays.toString()' –

ответ

2

Вопрос заключается в том, что вы используете scanner.next, который использует пробел как разделитель, так что вы на самом деле только чтение в первом разделе. Это не имеет никакого отношения к расколу.

Посмотрите на Oracle doc for Scanner.

«По умолчанию сканер использует пробелы для разделения токенов».

Смежные вопросы