5

我有这样的字符串:

Alian 12WE 

ANI1451

有没有办法用 JAVA 中的空字符串替换所有数字(以及数字之后的所有内容)?

我希望输出看起来像这样:

Alian

ANI
4

3 回答 3

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"));
    }   
}
于 2013-03-09T17:32:40.010 回答
2

您可以在找到数字后使用正则表达式删除所有内容 - 例如:

String s = "Alian 12WE";
s = s.replaceAll("\\d+.*", "");
  • \\d+找到一个或多个连续数字
  • .*匹配数字后的任何字符
于 2013-03-09T17:11:09.983 回答
1

使用正则表达式

"Alian 12WE".split("\\d")[0] // Splits the string at numbers, get the first part.

或替换"\\d.+$"""

于 2013-03-09T17:11:47.217 回答