介绍
在本文中,您将学习从Java中删除一个字符的String
对象的几种不同的方法,尽管String
类没有remove()
方法,但您可以使用replace()
方法和substring()
方法的变异来从字符串中删除字符。
<$>[注]
注: String
对象是不可变的,这意味着它们在创建后无法更改。本文中描述的所有 String
类方法都返回一个新的 String
对象,而不会更改原始对象。您使用的字符串类型取决于您的程序的要求。 了解更多关于 其他类型的字符串和 why strings are immutable in Java。
字符串
类有以下方法,您可以使用它们来替换或删除字符:
replace(char oldChar, char newChar)
:返回一个新的String
对象,该对象在给定的字符串中代替oldChar
的所有发生。您还可以使用replace()
方法,在格式中,返回replace(CharSequence 目标, CharSequence 替代)
,返回一个新的String
对象,该对象在给定的字符串中代替一个子字符串replaceFirst(String regex, String replacement)
:返回一个新的String
对象,该对象取代了第一个匹配给定的字符串中的常规表达式的第一个子字符串( _ replacement)。
请注意,替代All() 和替代First() 方法的第一个参数是 常规表达式。
<$>[注] **注:**你需要使用双重引用来表示字母字符串值,当你使用‘replace()’方法。
删除一个字符在Java中的字符串
在 Java 中,您可以使用「replace()」方法删除字符的所有实例,以用空字符代替字符。
1String str = "abc ABC 123 abc";
2String strNew = str.replace("a", "");
1[secondary_label Output]
2bc ABC 123 bc
删除Java中的字符串间隔
在 Java 中,您可以使用「replace()」方法删除字符串中的空格,以用空格代替空格的字符串。
1String str = "abc ABC 123 abc";
2String strNew = str.replace(" ", "");
1[secondary_label Output]
2abcABC123abc
删除 Java 中的 String 中的 Substring
在 Java 中,您只能通过使用 replaceFirst()
方法从字符串中删除字符串或字符串的第一个出现,以用空字符串代替字符串或字符串。
1String str = "abc ABC 123 abc";
2String strNew = str.replaceFirst("ab", "");
1[secondary_label Output]
2c ABC 123 abc
删除在Java中从一个字符串中所有的下方字母
您可以使用常规表达式从Java中的一个字符串中删除匹配给定的模式的字符,通过使用‘replace.All()’方法将字符代替为一个空的字符串。
1String str = "abc ABC 123 abc";
2String strNew = str.replaceAll("([a-z])", "");
1[secondary_label Output]
2ABC 123
删除Java中的String中的最后一个字符
没有特定方法来替代或删除字符串中的最后一个字符,但您可以使用 String substring() 方法来剪断字符串。
1String str = "abc ABC 123 abc";
2String strNew = str.substring(0, str.length()-1);
1[secondary_label Output]
2abc ABC 123 ab
试试吧
下面的示例文件定义了一个包含本文中提供的所有方法示例的类,并在在给定的字符串上调用每个方法后打印结果. 您可以使用此示例代码在使用不同的匹配模式和替换值的不同字符串上自行尝试。
如果您安装了 Java,您可以创建一个名为JavaStringRemove.java
的新文件,并将以下代码添加到该文件中:
1[label JavaStringRemove.java]
2
3public class JavaStringRemove {
4
5 public static void main(String[] args) {
6 String str = "abc ABC 123 abc";
7
8 // Remove a character from a string in Java
9 System.out.println("String after removing all the 'a's = "+str.replace("a", ""));
10
11 // Remove spaces from a string in Java
12 System.out.println("String after removing all the spaces = "+str.replace(" ", ""));
13
14 // Remove a substring from a string in Java
15 System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));
16
17 // Remove all the lowercase letters from a string in Java
18 System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));
19
20 // Remove the last character from a string in Java
21 System.out.println("String after removing the last character = "+str.substring(0, str.length()-1));
22 }
23
24}
编译和运行程序:
1javac JavaStringRemove.java
2java JavaStringRemove
你会得到以下的输出:
1[secondary_label Output]
2String after removing all the 'a's = bc ABC 123 bc
3String after removing all the spaces = abcABC123abc
4String after removing the first 'ab' substring = c ABC 123 abc
5String after removing all the lowercase letters = ABC 123
6String after removing the last character = abc ABC 123 ab
「JavaStringRemove」示例类中的每个方法都运行在给定的字符串上. 输出显示,每个方法中指定的字符已从字符串中删除。
结论
在本文中,您了解了如何在Java中使用来自String
类的方法删除字符串,包括replace()
,replaceAll()
,replaceFirst()
和substring()
。