在Java中将单词拆分为字母

时间:2009-10-05 19:26:23

标签: java split

如何将单词拆分为组成字母?

无效的代码示例

 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]。

7 个答案:

答案 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));