2014-09-08 3 views
0

Я пытаюсь разделить на новой строки и пробелы, но он не работаетКак разделить на новой строки и пространства

String[] parole = stringa.split("\\s\\[\\r\\n]+"); 
+0

Определить, что «не работает». Покажите нам свой ввод, вывод и ожидаемый результат. – Pshemo

+0

Что такое 'stringa' здесь? Что ожидается выход? – Braj

+2

Удалите обратную косую черту перед '[' и, возможно, * после s. Или так. –

ответ

0

Ваш рисунок кажется мне странным. \\s соответствует всем пробелам, включая новую строку и возврат каретки (и пробел и вкладку). Я считаю, что вы хотели,

String stringa = "Like\nthis\ryou see"; 
String[] parole = stringa.split("\\s+"); 
System.out.println(Arrays.toString(parole)); 

Выход

[Like, this, you, see] 
0

Он будет разделен на любой не алфавитно-цифровой символ

String arr[] = line.split("\\W+"); 

Хотя даже не рекомендуется использовать попробовать поиграться с классом StringTokenizer ,

List<String> list = new ArrayList<String>(); 
String message = "This\nis\tthe new beginning of something like that, is it?"; 
String delim = " \n\r\t"; 
StringTokenizer st = new StringTokenizer(message,delim); 
while (st.hasMoreTokens()) { 
    list.add(st.nextToken()); 
} 
System.out.println(list); 
-1

Вместо того чтобы изобретать колесо, вы можете использовать StringUtils в Apache Commons libraries. См. Раздел split, splitByCharacterType и другие методы «split».

+0

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

+0

Point принят. Но если Apache Commons выходит в автономный режим, у нас будут большие вещи. –

+0

Возможно, но он может быть перенесен на другой URL-адрес, например, без предыдущих перенаправлений на новый. –

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