Java删除索引1起始的del字符串时replaceAll方案报错求解
错误原因
你当前使用的str.replaceAll("del","")逻辑是全局替换字符串中所有出现的del子串,完全没有匹配题目要求的位置判断规则:只有子串del从索引1位置开始出现时才删除该段,其余位置的del都需要保留,同时长度不足4的字符串不可能包含从索引1开始的3个字符,直接返回原串即可。
正确实现代码
public String delDel(String str) { // 字符串长度至少为4才可能存在从索引1开始的3位"del"子串 if (str.length() >= 4 && str.substring(1, 4).equals("del")) { // 保留第0位字符,拼接索引4之后的内容 return str.charAt(0) + str.substring(4); } // 不满足删除条件直接返回原串 return str; }
失败用例验证
delDel("del"):字符串长度为3,直接返回原串del,符合预期delDel("aadelbb"):截取索引1到4的子串为ade,不匹配del,直接返回原串aadelbb,符合预期
内容的提问来源于stack exchange,提问作者Deekshith Ranga Babu
相关产品推荐
相关产品推荐

