从 Java 字符串中移除数字值

JavaBeginner
立即练习

介绍

在本实验中,你将学习如何在 Java 中从字符串中移除数字值。Java 中的字符串可以包含字母数字字符和特殊符号。因此,有时需要过滤字符串以仅获取字母。在本实验中,我们将使用 replaceAll() 方法,该方法接受两个参数:一个用于过滤字符串的正则表达式和一个替换字符串。

创建一个新的 Java 文件

导航到 ~/project 目录,并使用以下命令创建一个新的 Java 文件:

touch RemoveNumericValues.java

定义 main() 方法

在文本编辑器中打开 RemoveNumericValues.java 文件,并按如下方式定义 main() 方法:

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);
    }
}

使用正则表达式移除数字值

在这一步中,我们将使用正则表达式(Regex)从字符串中移除数字值。

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[^A-Za-z]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

在上述代码中,我们使用了 replaceAll() 方法来替换字符串 str 中除字母以外的所有字符。正则表达式 [A-Za-z] 将匹配从 A 到 Z 和 a 到 z 的所有字符。

使用正则表达式移除数字

在这一步中,我们将使用正则表达式(Regex)从字符串中移除数字。

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);

        str = str.replaceAll("\\d", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

在上述代码中,我们使用了 replaceAll() 方法来替换字符串 str 中的所有数字。正则表达式 \\d 将匹配字符串中的所有数字。

使用正则表达式移除数字(替代方法)

在这一步中,我们将使用另一种正则表达式(Regex)从字符串中移除数字。

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[0-9]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

在上述代码中,我们使用了 replaceAll() 方法来替换字符串 str 中的所有数字。正则表达式 [0-9] 将匹配字符串中的所有数字。

编译并运行代码

保存对 RemoveNumericValues.java 文件的更改,打开终端,导航到项目目录并输入以下命令以编译代码:

javac RemoveNumericValues.java

代码成功编译后,输入以下命令以运行代码:

java RemoveNumericValues

代码的输出将显示在终端上。

修改输入字符串

为了在不同的输入字符串上测试代码,可以将 str 字符串修改为你选择的任意值。

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[^A-Za-z]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

测试替代方法

修改之前的代码版本以测试替代方法,如下所示:

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[0-9]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

测试第二种方法

修改之前的代码版本以测试第二种方法,如下所示:

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Original String: " + str);

        str = str.replaceAll("\\d", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

总结

在本实验中,我们学习了如何在 Java 中从字符串中移除数字值。我们使用了 replaceAll() 方法以及不同的正则表达式(Regex)来过滤字符串并仅保留字母。我们还学习了如何通过不同的输入字符串来测试代码。