如何将单词拆分为组成字母?
无效的代码示例
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]。
答案 0 :(得分:46)
您需要使用split("");
。
那会被每个角色分开。
但是我觉得迭代一个String
的字符会更好:
for (int i = 0;i < str.length(); i++){
System.out.println(str.charAt(i));
}
无需以其他形式创建String
的另一个副本。
答案 1 :(得分:28)
"Stack Me 123 Heppa1 oeu".toCharArray()
?
答案 2 :(得分:6)
包括数字但不包括空格:
"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
答案 3 :(得分:5)
您可以使用
String [] strArr = Str.split("");
答案 4 :(得分:3)
char[] result = "Stack Me 123 Heppa1 oeu".toCharArray();
答案 5 :(得分:2)
我很确定他不希望输出空格。
for (char c: s.toCharArray()) {
if (isAlpha(c)) {
System.out.println(c);
}
}
答案 6 :(得分:1)
String[] result = "Stack Me 123 Heppa1 oeu".split("**(?<=\\G.{1})**");
System.out.println(java.util.Arrays.toString(result));