Java从字符串中删除字符

时间:2020-02-23 14:34:30  来源:igfitidea点击:

有时我们必须在Java程序中从String中删除字符。
但是Java String类没有remove()方法。
那么您将如何实现呢?

Java从字符串中删除字符

如果您注意到String类,则我们有不同版本的replace()方法。
让我们看看String类的所有重载replace()方法都有什么;

  • replace(char oldChar,char newChar):返回一个字符串,该字符串是用newChar替换此字符串中所有出现的oldChar的结果。

  • replace(CharSequence target,CharSequence replace):用指定的文字替换序列替换此字符串中与文字目标序列匹配的每个子字符串。

  • replaceFirst(String regex,String replacement):用给定的替换项替换与给定的正则表达式匹配的该字符串的第一个子字符串。

  • replaceAll(String regex,String replacement):用给定的替换项替换该字符串中与给定的正则表达式匹配的每个子字符串。

那么我们可以使用replace('x','');吗?如果尝试这种方法,则会收到编译器错误,显示为"无效字符常量"。
因此,我们将不得不使用采用字符串的其他替换方法,因为我们可以将""指定为要替换的空字符串。

Java字符串删除字符示例

下面的代码片段显示了如何从给定的字符串中删除所有出现的字符。

String str = "abcdDCBA123";
String strNew = str.replace("a", ""); //strNew is 'bcdDCBA123'

Java从字符串中删除子字符串

让我们看看如何从字符串中删除首次出现的" ab"。

String str = "abcdDCBA123";
String strNew = str.replaceFirst("ab", ""); //strNew is 'cdDCBA123'

注意,replaceAllreplaceFirst方法的第一个参数是一个正则表达式,我们可以使用它从字符串中删除模式。
下面的代码段将从字符串中删除所有小写字母。

String str = "abcdDCBA123";
String strNew = str.replaceAll("([a-z])", ""); //strNew is 'DCBA123'

Java从字符串中删除空格

String str = "Hello World Java Users";
String strNew = str.replace(" ", ""); //strNew is 'HelloWorldJavaUsers'

Java从字符串中删除最后一个字符

没有替代或者删除字符串中最后一个字符的方法,但是我们可以使用字符串子字符串方法来实现。

String str = "Hello World!";
String strNew = str.substring(0, str.length()-1); //strNew is 'Hello World'

Java字符串删除字符和字符串示例

这是上面显示的示例的完整java类。

package com.theitroad.examples;

public class JavaStringRemove {

	public static void main(String[] args) {
		String str = "abcdDCBA123";

		System.out.println("String after Removing 'a' = "+str.replace("a", ""));
		
		System.out.println("String after Removing First 'a' = "+str.replaceFirst("ab", ""));

		System.out.println("String after replacing all small letters = "+str.replaceAll("([a-z])", ""));
	}

}

上面程序产生的输出是:

String after Removing 'a' = bcdDCBA123
String after Removing First 'a' = cdDCBA123
String after replacing all small letters = DCBA123