2013-09-09 3 views
0

Попытки разбить строку на отдельные буквыРазделить строку в массив без пустого элемента

String string1 ="KKXGJRNQGA"; 
List<String> solutionArray = Arrays.asList(string1.split("")); 

вернется [, K, K, X, G, J, R, N, Q, G, A] перед каждым алфавитом пространства и на [0] является пустым элементом.
Но на самом деле я хочу [K,K,X,G,J,R,N,Q,G,A], есть ли способ его решить? может использовать регулярное выражение?

ответ

1

Как насчет

char[] letters = string1.toCharArray(); 
+0

... и вы можете изменить это в список или Струны позже (или в идеале использовать как есть). – Thilo

2

Использование string1.split("") возвращает пустой первое значение.

Используйте toCharArray(), который преобразует строку в новый массив символов.

"KKXGJRNQGA".toCharArray() 

или простое регулярное выражение

String s = "KKXGJRNQGA"; 
String[] p = s.split("(?!^)"); 
System.out.println(Arrays.asList(p)); 

Выход:

[K, K, X, G, J, R, N, Q, G, A] 
+0

Я не понимаю, как это регулярное выражение работает «(?! ^)« Что это значит? как это работает? объясните спасибо –