问题
要访问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 赞)
你也可以使用可变的StringBuilder
class。
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"