これがばかげた質問であるならば、これについて申し訳ありません。しかし、私はこれについて知る必要があります。
アルファベット、数字、特別なチャーターのような単語があれば。アルファベットのみを抽出する必要があります。数字や特殊文字は必要ありません。Javaには文字のみを分割するデフォルトの関数がありますか?
eg.String word="te123@#st";
テストだけが必要です。
これがばかげた質問であるならば、これについて申し訳ありません。しかし、私はこれについて知る必要があります。
アルファベット、数字、特別なチャーターのような単語があれば。アルファベットのみを抽出する必要があります。数字や特殊文字は必要ありません。Javaには文字のみを分割するデフォルトの関数がありますか?
eg.String word="te123@#st";
テストだけが必要です。
このソリューションは、アクセント付き/非ASCII文字で機能します。
"te123@#st\néàø_".replaceAll("[\\p{Digit}\\p{Punct}\\p{Space}]", "");
これにより、英数字以外の文字はすべて削除されますが、アクセント記号付きの文字は削除されます。
String word = "te123@#st";
word = word.replaceAll("[^\\p{Alpha}]", "");
// or word = word.replaceAll("[\\P{Alpha}]", "");
apidocリファレンスを参照してください。
これを試してword.replaceAll("[^a-zA-Z]", "");
試す
word = word.replaceAll("\\P{Alpha}", "");
String word = "te123@#st";
word = word.replaceAll("[\\W\\d._]", "");
これを試して:
word = word.replaceAll("[\\d@#_]", "");
-を使用してこれを複雑にするつもりはありませんがRegex
、組み込みの Java 機能を使用してこれに答えます。
-最初にsubString()
メソッドを使用して文字列の「abcd」部分を取得し、次にtoCharArray()
メソッドを使用して要素にString
分割し、次にメソッドを使用して数字かどうかを確認します。char
Character 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);
}
}