0

これがばかげた質問であるならば、これについて申し訳ありません。しかし、私はこれについて知る必要があります。

アルファベット、数字、特別なチャーターのような単語があれば。アルファベットのみを抽出する必要があります。数字や特殊文字は必要ありません。Javaには文字のみを分割するデフォルトの関数がありますか?

eg.String word="te123@#st";

テストだけが必要です。

4

7 に答える 7

3

このソリューションは、アクセント付き/非ASCII文字で機能します。

"te123@#st\néàø_".replaceAll("[\\p{Digit}\\p{Punct}\\p{Space}]", "");
于 2013-01-08T10:36:04.060 に答える
2

これにより、英数字以外の文字はすべて削除されますが、アクセント記号付きの文字は削除されます。

 String word = "te123@#st";
 word = word.replaceAll("[^\\p{Alpha}]", "");  
 // or word = word.replaceAll("[\\P{Alpha}]", "");

apidocリファレンスを参照してください。

于 2013-01-08T10:25:43.903 に答える
2

これを試してword.replaceAll("[^a-zA-Z]", "");

于 2013-01-08T10:17:55.497 に答える
1

試す

    word = word.replaceAll("\\P{Alpha}", "");
于 2013-01-08T10:25:54.043 に答える
1
String word = "te123@#st";
word = word.replaceAll("[\\W\\d._]", "");
于 2013-01-08T10:19:04.810 に答える
0

これを試して:

word = word.replaceAll("[\\d@#_]", "");
于 2013-01-08T10:20:44.433 に答える
0

-を使用してこれを複雑にするつもりはありませんがRegex組み込みの Java 機能を使用してこれに答えます。

-最初にsubString()メソッドを使用して文字列の「abcd」部分を取得し、次にtoCharArray()メソッドを使用して要素にString分割し、次にメソッドを使用して数字かどうかを確認します。charCharacter class's isDigit()

public class T1 {

    public static void main(String[] args){


        String s = "te123@#st";

        String str = s.substring(0,4);
        System.out.println(str);
        String tempStr = new String();
        char[] cArr = str.toCharArray();

        for(char a :cArr){

            if(Character.isAlphabetic(a)){

                System.out.println(a+" is a alphabet");
                tempStr = tempStr + a;
            }else{

                System.out.println(a+" is not a alphabet");
            }
        }

        System.out.println("The extracted String is: "+tempStr);
             }
     }
于 2013-01-08T10:39:35.857 に答える