如何用 Java 删除字符串中的一个字符

介绍

在本文中,您将学习从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()

Published At
Categories with 技术
comments powered by Disqus