📅  最后修改于: 2023-12-03 14:50:17.944000             🧑  作者: Mango
在Java中,我们可以使用正则表达式来删除字符串中的所有非字母字符。
下面是示例代码片段:
String str = "Hello World! 123";
str = str.replaceAll("[^a-zA-Z]", "");
System.out.println(str); //输出结果:HelloWorld
代码解释:
首先,我们定义一个字符串变量 str
,它包含字母、数字和其它字符。
然后,我们使用 replaceAll
方法来替换字符串中的所有非字母字符。正则表达式 [^a-zA-Z]
表示匹配除了字母之外的任何字符。
最后,我们打印出删去非字母字符的字符串 str
。
请注意,replaceAll
方法会创建一个新的字符串对象。因此,如果原始字符串很长,这种方法可能会影响性能。
另外,如果我们只想删除空格、制表符等空白字符,可以使用 \s
表示空白字符。例如:
String str = "Hello\tWorld! \n123";
str = str.replaceAll("\\s", "");
System.out.println(str); //输出结果:HelloWorld123
代码解释:
在正则表达式中,\s
表示空白字符,包括空格、制表符、换行符等。因为反斜杠在Java中是特殊字符,用于转义其他字符,所以我们需要使用两个反斜杠来表示一个反斜杠。