次のような文字列があります。
Alian 12WE
と
ANI1451
JAVAですべての数字(および数字の後のすべて)を空の文字列に置き換える方法はありますか?
出力を次のようにしたい:
Alian
ANI
正規表現を使用すると、非常に簡単です。
public class Test {
public static String replaceAll(String string) {
return string.replaceAll("\\d+.*", "");
}
public static void main(String[] args) {
System.out.println(replaceAll("Alian 12WE"));
System.out.println(replaceAll("ANI1451"));
}
}
正規表現を使用して、数字が見つかった後にすべてを削除できます-次のようなものです:
String s = "Alian 12WE";
s = s.replaceAll("\\d+.*", "");
\\d+
1 つ以上の連続する数字を検索します.*
数字の後の任意の文字に一致します正規表現を使用
"Alian 12WE".split("\\d")[0] // Splits the string at numbers, get the first part.
または置き換え"\\d.+$"
ます""