我有像:
这样的字符串Alian 12WE
和
ANI1451
有没有办法用JAVA中的空字符串替换所有数字(以及数字后面的所有内容)?
我希望输出看起来像这样:
Alian
ANI
答案 0 :(得分:7)
使用正则表达式,它非常简单:
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"));
}
}
答案 1 :(得分:2)
您可以使用正则表达式在找到数字后删除每一个 - 例如:
String s = "Alian 12WE";
s = s.replaceAll("\\d+.*", "");
\\d+
找到一个或多个连续数字.*
匹配数字后面的任何字符答案 2 :(得分:1)
使用正则表达式
"Alian 12WE".split("\\d")[0] // Splits the string at numbers, get the first part.
或将"\\d.+$"
替换为""