Разделение слов на буквы в Java
Как вы можете разбить слово на его составляющие буквы?
Пример кода, который не работает
class Test {
public static void main( String[] args) {
String[] result = "Stack Me 123 Heppa1 oeu".split("\\a");
// output should be
// S
// t
// a
// c
// k
// M
// e
// H
// e
// ...
for ( int x=0; x<result.length; x++) {
System.out.println(result[x] + "\n");
}
}
}
Проблема заключается в символе \\a
.
Он должен быть [A-Za-z].
Ответы
Ответ 1
Вам нужно использовать split("");
.
Это разделит его на каждый символ.
Однако я думаю, что было бы лучше перебирать символы String
так:
for (int i = 0;i < str.length(); i++){
System.out.println(str.charAt(i));
}
Нет необходимости создавать другую копию вашего String
в другой форме.
Ответ 2
"Stack Me 123 Heppa1 oeu".toCharArray()
?
Ответ 3
Включая числа, но не пробелы:
"Stack Me 123 Heppa1 oeu".replaceAll("\\W","").toCharArray();
=> S, t, a, c, k, M, e, 1, 2, 3, H, e, p, p, a, 1, o, e, u
Без номеров и пробелов:
"Stack Me 123 Heppa1 oeu".replaceAll("[^a-z^A-Z]","").toCharArray()
=> S, t, a, c, k, M, e, H, e, p, p, a, o, e, u
Ответ 4
char[] result = "Stack Me 123 Heppa1 oeu".toCharArray();
Ответ 5
Вы можете использовать
String [] strArr = Str.split("");
Ответ 6
Я уверен, что он не хочет выводить пробелы.
for (char c: s.toCharArray()) {
if (isAlpha(c)) {
System.out.println(c);
}
}
Ответ 7
String[] result = "Stack Me 123 Heppa1 oeu".split("**(?<=\\G.{1})**");
System.out.println(java.util.Arrays.toString(result));