JAVA 删除字符串中指定的字符
我想去掉指定的字母,应该怎么操作?比如去掉第二个b,第三个c这样 展开
方法一:
/**
*
* @param s 要操作的字符串
* @param string 要删除的字符
* @param i 删除第几个
* @return
*/
public String remove(String s,String string,int i){
if(i==1){
int j=s.indexOf(string);
s=s.substring(0, j)+s.substring(j+1);
i--;
return s;
}else{
int j=s.indexOf(string);
i--;
return s.substring(0, j+1)+remove(s.substring(j+1), string, i);
}
}
方法二:
public static void main(String[] args) {
String param = "abcdabcd";
int[] array = {1, 3, 5};//你想要替换字符串的位置
System.out.println(deleteAll(param, array));
}
public static String deleteAll(String source, int arg[]) {
char[] array = source.toCharArray();
String[] arrayStr = new String[array.length];
for (int i = 0; i < array.length; i++) {
arrayStr[i] = String.valueOf(array[i]);
}
for (int key : arg) {
arrayStr[key - 1] = "";
}
StringBuffer strBuf = new StringBuffer();
for (String string : arrayStr) {
if (!"".equals(string)) {
strBuf.append(string);
}
}
return strBuf.toString();
}
字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似 字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[0]=“a”,s[9]="j",而字符串的 零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。