JAVA 删除字符串中指定的字符

如题所述

第1个回答  2022-12-11

方法一:

/**

* @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没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。

相似回答