介绍
在本实验中,你将学习如何在 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)来过滤字符串并仅保留字母。我们还学习了如何通过不同的输入字符串来测试代码。



