问题

要访问Java中String的单个字符,我们有String.charAt(2)。是否有任何内置函数可以删除java中String的单个字符?

像这样的东西:

if(String.charAt(1) == String.charAt(2){
   //I want to remove the individual character at index 2. 
}

#1 热门回答(167 赞)

你也可以使用可变的StringBuilderclass。

StringBuilder sb = new StringBuilder(inputString);

它具有方法deleteCharAt(),以及许多其他增变方法。

只需删除需要删除的字符,然后按如下方式获得结果:

String resultString = sb.toString();

这可以避免创建不必要的字符串对象。


#2 热门回答(56 赞)

一种可能性:

String result = str.substring(0, index) + str.substring(index+1);

请注意,结果是一个新的String(以及两个中间String对象),因为Java中的字符串是不可变的。


#3 热门回答(38 赞)

你可以使用名为replace的Java String方法,它将使用第二个参数替换与第一个参数匹配的所有字符:

String a = "Cool";
a = a.replace("o","");

//variable 'a' contains the string "Cl"

原文链接