中易网

字符串中去掉指定的字符

答案:2  悬赏:30  
解决时间 2021-04-21 14:18
在a-z的alphabet中去掉用户输入的keyword,以zebra举例,去掉之后的alphabet应该是cdfghijklmnopqtuvwxy。我的代码是这样的:
private String removeKeyword(String modifiedKeyword){
int i = 0;
String removeKeyword = "abcdefghigklmnopqrstuvwxyz";
while (i < 26 ){
if(modifiedKeyword.indexOf(removeKeyword.charAt(i)) != -1){
removeKeyword = removeKeyword.replace("" + removeKeyword.charAt(i), "");
}
i++;
}
return removeKeyword;
}
compile没有问题,但是运行之后生成的新字母列是zebrasbcdefghigklmnopqrstuvwxyz,也就是说只去掉了a然后替换了zebras,到底问题出在哪。。。
private String removeKeyword(String modifiedKeyword){
int i;
String removedKeyword = "abcdefghijklmnopqrstuvwxyz";
for ( i = 0 ; modifiedKeyword.indexOf(removedKeyword.charAt(i)) != -1 ; i++){
removedKeyword = removedKeyword.replace("" + PLAIN_ALPHA.charAt(i),"");
}
return removedKeyword;
}
不好意思打错了 ,这个是我运行的代码,上边那个运行之后提示
java.lang.StringIndexOutOfBoundsException: String index out of range: 23
最佳答案
是不是用了string.indexOf,这个的话,表示越界了,你的字符串没这么大的长度.

给你举一个简单的例子,讲解方法indexOf(int ch)
源文件Test.java
public class Test {
public static void main(String args[])
{
String str1="aacdabcd";
String str2="abcdabcd";
System.out.println(str1.indexOf(98));
System.out.println(str2.indexOf(98));
}

}
运行结果是5和1。
indexOf(int ch)方法的作用是字符在此字符串中第一次出现处的索引.。整型(int)数据它会转换成字符型(char),例中的98对应的是字符'b',字符'b'在字符串str1中第一次出现处是第5个位置(不是第6个,因为是从0开始计算的,这个应该知道吧),在字符串str2中第一次出现处是第1个位置。
其实实参98换成'b',运行结果是一样的。换成101则返回-1,101对应的是字符'e',字符串str1,str2中没有字符'e',方法返回的值是-1。.
全部回答
因为你在遍历的过程中对32313133353236313431303231363533e4b893e5b19e31333332633061他有修改,所以导致了这个错误.  char[] removeKeyword = "abcdefghigklmnopqrstuvwxyz".toCharArray();         String removeKeywordStr = "";         for (int i = 0; i < 26; i++) {             for (int j = 0; j < modifiedKeyword.length(); j++) {                 if (removeKeyword[i] == modifiedKeyword.charAt(j)) {                     removeKeyword[i] = 0;                 }             }         }         for (int i = 0; i < 26; i++) {             if (removeKeyword[i] == 0) {                 continue;             }             removeKeywordStr += removeKeyword[i];         }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在Word文挡里面两页想缩成一页纸打印出来 那
吃了发芽的紫薯肚子疼
只有神知道的世界第四季会出吗?
同学们做广播操,每18人站成一排,按"1、2、
属鼠和羊配吗?
猫猫小窝在哪里啊,我有事要去这个地方
沈阳兴隆大家庭电影院怎么样?
脑门、眉心和鼻梁上起了许多小红疙瘩,很痒。
欢迎光临.
陶瓷一线品牌利华陶瓷
昆明从凤凰村到新广风座几路公交车
自动增压泵分不分进水和出水的
浮雕手机壳打印机,彩绘手机壳怎么做 加盟指
乡源特产批发地址在什么地方,我要处理点事
男人需要美容吗
推荐资讯
熬酱怎么熬!放在肉包子陷里面
我怎么进不了CF越南服?
天猫上新买日久牌充电器,居然是个翻新货,能
公司账上没钱,拖欠工资,强制执行能拿到钱吗
1998年是什么年?1998除以四等于几?
全国pos代理都有那几家。
君赞源到底有没有效果 我吃了6盒君赞源玛卡
2013年蛇宝宝(男)有哪些好名字
广西 柳州 兰桂坊 DJ串嗨23分50秒的歌
吉祥公寓(琼林北路)怎么去啊,有事要去办理
宫颈糜烂的女生能不能去当兵
怡然公寓(北京通州区)地址好找么,我有些事要
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?