2015-03-21 3 views
0

Я пытаюсь найти способ разделить String в Java, не игнорируя пробелы. После поиска я нашел способ сделать это в Python:Разбиение строки без игнорирования пробелов

re.split(r"(\s+)", "This is the string I want to split") 

приведет:

['This', ' ', 'is', ' ', 'the', ' ', 'string', ' ', 'I', ' ', 'want', ' ', 'to', ' ', 'split'] 

Как это может быть сделано в Java?

ответ

3

Да, вам нужно использовать поиски.

string.split("(?<=\\s+)|(?=\\s+)"); 
  • (?<=\\s+) Спичка границы, которая существует после того, как один или несколько пробелов.

  • | ИЛИ

  • (?=\\s+) Спички границу, которая выходит перед одним или несколькими пробелами.

  • Разделение в соответствии с согласованной границей даст вам желаемый результат.

Пример:

String s = "This is the string I want to split"; 
String[] parts = s.split("(?<=\\s+)|(?=\\s+)"); 
System.out.println(Arrays.toString(parts)); 

Выход:

[This, , is, , the, , string, , I, , want, , to, , split] 
+0

Большое спасибо, что решить ее! – Jared

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