web-dev-qa-db-ja.com

Javaで単語を文字に分割する

Wordを構成文字に分割するにはどうすればよいですか?

動作していないコードの例

 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]でなければなりません。

split("");を使用する必要があります。

それはすべての文字でそれを分割します。

ただし、次のようにStringの文字を反復処理する方が良いと思います。

for (int i = 0;i < str.length(); i++){
    System.out.println(str.charAt(i));
}

別の形式でStringの別のコピーを作成する必要はありません。

46
jjnguy

"Stack Me 123 Heppa1 oeu".toCharArray()

29
Zed

空白を含まない数字を含む:

"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_

6
p3t0r

使用できます

String [] strArr = Str.split("");
5
user5650798
 char[] result = "Stack Me 123 Heppa1 oeu".toCharArray();
3
Dave

彼はスペースを出力したくないと確信しています。

for (char c: s.toCharArray()) {
    if (isAlpha(c)) {
       System.out.println(c);
     }
}
2
Gandalf
String[] result = "Stack Me 123 Heppa1 oeu".split("**(?<=\\G.{1})**");
System.out.println(Java.util.Arrays.toString(result));