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

Strings="abcabcabc";我想去掉指定的字母,应该怎么操作?比如去掉第二个b,第三个c这样靠……方法都很好,不知道选哪个了……... String s = "abcabcabc";
我想去掉指定的字母,应该怎么操作?比如去掉第二个b,第三个c这样
靠……方法都很好,不知道选哪个了……
展开
 我来答
帐号已注销
2020-08-09 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:157万
展开全部

直接使用空字符串替换就可以。

String b = "abcabcabc";

b=b.replace("b","");

这个方法是替换所有的,如果是想找第一个是b的,可以如下

String s = "abcabcabc";

int i=s.indexOf("b");

s=s.substring(0, i)+s.substring(i+1);

System.out.println(s);

扩展资料:

JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。

但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可。

参考资料来源:百度百科-Java

liqinghuiyx
推荐于2017-11-20 · TA获得超过761个赞
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:235万
展开全部
直接使用空字符串替换就可以了
String b = "abcabcabc";
b=b.replace("b","");

这个应该是比较简单的了,别的比如取出来你想要删掉的字符的位置,然后去除
更多追问追答
追问
是指定的,不是全部的
追答
这个方法是替换所有的,如果你是想找第一个是b的,可以如下
String s = "abcabcabc";
int i=s.indexOf("b");
s=s.substring(0, i)+s.substring(i+1);
System.out.println(s);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shenbeiaia521
2012-07-04 · TA获得超过178个赞
知道答主
回答量:329
采纳率:100%
帮助的人:207万
展开全部
String s = "abcabcabc";//你的串
s=s.replace("", "-"); //每个字符加个-
String b[]=s.split("-");//截取字符串为数组
String n="";//新的字符传
int f=0;//b的循环变量
int y=0;//c的循环变量
for(int i = 0;i<b.length;i++){//循环数字
if(b[i]!=null&&b[i].trim().length()!=0){
if(b[i].equals("b")){
f++;
if(f==2){
b[i]="";
}
}
if(b[i].equals("c")){
y++;
if(y==3){
b[i]="";
}
}
}
n+=b[i];
}
System.out.println(n);
追问
懂了……等下看看楼上的方法怎么样……
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shiguang0122
2012-07-04 · TA获得超过2778个赞
知道大有可为答主
回答量:1253
采纳率:66%
帮助的人:731万
展开全部
/**
* 替换str字符串中第 ind 个字符串 rep,返回结果
* @param str 需要处理的字符串
* @param ind 替换第几个
* @param rep 替换字符串
* @return
*/
public String replaceByIndex(String str, int ind, String rep){
String result = "";//盛放结果
int tmp_i = 0;//记录下标
String tmp_str = "";//记录处理的字符串
for(int i=0; i<ind; i++){
tmp_str = str.substring(tmp_i);//
if(i!=ind-1){
result = result + tmp_str.substring(0, tmp_str.indexOf(rep)+1);//将前面不符合的放到结果字符串
tmp_i = tmp_i+tmp_str.indexOf(rep)+1;//设置剩余需要处理字符串起始位置在原始字符串的下标
System.out.println(result);
}else{
result = result + tmp_str.replaceFirst(rep, "");//符合第几个条件后,替换首个字符串,然后合并到结果字符串
System.out.println(result);
}
}
return result;
}

//测试方法
int ind = 1;//去掉第ind个
String rep = "a";//去掉什么字符串
String str = "abcabcabcabc";

String result = replaceByIndex(str, ind, rep);
更多追问追答
追问
学习~
追答
public static String replaceByIndex(String str, int ind, String rep){
String[] strs = str.split(rep);
String result = "";
for(int i=0; i<strs.length; i++){
result = result + strs[i] + (i!=ind-1 && i!=strs.length-1 ? rep : "");
}
return result;
}
还有更简单的。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dngoryaner
2012-07-04 · TA获得超过2350个赞
知道小有建树答主
回答量:2404
采纳率:0%
帮助的人:1117万
展开全部
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();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式