介绍
在本文中,您将学习几种不同的方法来从Java中的String
对象中删除字符。虽然String
类没有remove()
方法,但您可以使用replace()
方法和substring()
方法的变体来从字符串中删除字符。
注意:String
对象是不可变的,这意味着它们在创建后无法更改。本文中描述的所有String
类方法都会返回一个新的String
对象,并且不会更改原始对象。您使用的字符串类型取决于程序的要求。了解更多关于Java中其他类型的字符串类以及为什么字符串在Java中是不可变的。
String
类具有以下方法,您可以使用这些方法来替换或删除字符:
replace(char oldChar, char newChar)
:返回一个新的String
对象,该对象将给定字符串中所有oldChar
的出现替换为newChar
。您还可以使用replace()
方法,格式为replace(CharSequence target, CharSequence replacement)
,以返回一个新的String
对象,该对象将给定字符串中的子字符串替换。replaceFirst(String regex, String replacement)
:返回一个新的String
对象,它用替换字符串中与给定正则表达式匹配的第一个子字符串。replaceAll(String regex, String replacement)
:返回一个新的String
对象,它用替换字符串中与给定正则表达式匹配的每个子字符串。substring(int start, int end)
:返回一个新的String
对象,它包含当前序列中当前包含的字符的子序列。子字符串从指定的开始处开始,一直延伸到索引为end减1的字符。
请注意,replaceAll()
和replaceFirst()
方法的第一个参数是一个正则表达式。您可以使用正则表达式从字符串中移除模式。
注意:在使用replace()
方法时,您需要使用双引号来表示字面字符串值。如果使用单引号,则JRE会认为您正在指定一个字符常量,并且在编译程序时会出现错误。
在Java中从字符串中删除字符
您可以使用Java中的replace()
方法将字符串中的所有实例替换为一个空字符串来删除特定字符。以下是一个示例代码,它从给定字符串中删除所有小写字母“a
”的出现:
String str = "abc ABC 123 abc";
String strNew = str.replace("a", "");
Outputbc ABC 123 bc
从Java中的字符串中删除空格
您可以使用replace()
方法将字符串中的空格替换为一个空字符串来删除Java中的字符串中的空格。以下是一个示例代码,它从给定字符串中删除所有空格:
String str = "abc ABC 123 abc";
String strNew = str.replace(" ", "");
OutputabcABC123abc
从Java中的字符串中删除子字符串
您可以使用replaceFirst()
方法仅从Java中的字符串中删除字符或子字符串的第一个出现。以下是一个示例代码,它从给定字符串中删除第一个出现的“ab
”:
String str = "abc ABC 123 abc";
String strNew = str.replaceFirst("ab", "");
Outputc ABC 123 abc
在Java中删除字符串中的所有小写字母
您可以使用正则表达式来删除Java中字符串中与给定模式匹配的字符,方法是使用replace.All()
方法将字符替换为一个空字符串。以下示例代码从给定字符串中删除所有小写字母:
String str = "abc ABC 123 abc";
String strNew = str.replaceAll("([a-z])", "");
OutputABC 123
在Java中删除字符串的最后一个字符
没有特定的方法来替换或删除字符串的最后一个字符,但您可以使用String substring()方法来截断字符串。以下示例代码从给定字符串中删除最后一个字符:
String str = "abc ABC 123 abc";
String strNew = str.substring(0, str.length()-1);
Outputabc ABC 123 ab
试一下
以下示例文件定义了一个类,该类包含本文提供的所有方法示例,并在调用给定字符串上的每个方法后打印结果。您可以使用此示例代码在不同的字符串上尝试使用不同的匹配模式和替换值。
如果您已安装了Java,您可以创建一个名为JavaStringRemove.java
的新文件,并将以下代码添加到文件中:
public class JavaStringRemove {
public static void main(String[] args) {
String str = "abc ABC 123 abc";
// 从Java中的字符串中删除一个字符
System.out.println("String after removing all the 'a's = "+str.replace("a", ""));
// 从Java中的字符串中删除空格
System.out.println("String after removing all the spaces = "+str.replace(" ", ""));
// 从Java中的字符串中删除子字符串
System.out.println("String after removing the first 'ab' substring = "+str.replaceFirst("ab", ""));
// 从Java中的字符串中删除所有小写字母
System.out.println("String after removing all the lowercase letters = "+str.replaceAll("([a-z])", ""));
// 从Java中的字符串中删除最后一个字符
System.out.println("String after removing the last character = "+str.substring(0, str.length()-1));
}
}
编译并运行程序:
- javac JavaStringRemove.java
- java JavaStringRemove
您将得到以下输出:
OutputString after removing all the 'a's = bc ABC 123 bc
String after removing all the spaces = abcABC123abc
String after removing the first 'ab' substring = c ABC 123 abc
String after removing all the lowercase letters = ABC 123
String after removing the last character = abc ABC 123 ab
JavaStringRemove
示例类中的每个方法都操作给定的字符串。输出显示,每个方法中指定的字符已从字符串中删除。
结论
在本文中,您学习了使用String
类中的方法来删除Java字符串中的字符的各种方法,包括replace()
、replaceAll()
、replaceFirst()
和substring()
。继续学习更多Java教程。
Source:
https://www.digitalocean.com/community/tutorials/java-remove-character-string