剔除字符串中指定字符

如给定一字符串“ascadbcadcbdac” 将c 与ab剔除
代码如下

	public static String handlerStr(String str) {
		char[] cs = new char[str.length()];
		char[] chs = str.toCharArray();
		int index =-1;
		for(int i=0;i<chs.length;i++) {
			if(chs[i] == 'c') {
				continue;
			}if(chs[i] == 'b' && index>-1 && cs[index] =='a') {
				index--;//如果b前面有a则删除前面储存的a并且b不存入
				continue;
			}
			index++;
			cs[index] = chs[i];
		}
		return new String(cs,0,index+1);//将cs数组从0项开始的index+1项转化为字符串
	}
	public static void main(String[] args) {
		String str = "ascadbcadcbdac";
		System.out.println(cd4.handlerStr(str));
	}
}

思路:因为原字符串中可能会有acb存在 若直接排除c ab 会漏掉 所以应在剔除c的同时判断每个字符b前面是否存在a

发布了35 篇原创文章 · 获赞 0 · 访问量 661

猜你喜欢

转载自blog.csdn.net/Azadoo/article/details/104563697
今日推荐