/**
* 删除一定的文件
* @param delStartKey 要删除的一些字符的开始 {< ,[ }
* @param delEndKey 要删除的一些字符的结束 {/>, ]}
* @author zhoobt
*/
public static byte[] delString(byte[] data, String[] delStartKey,
String[] delEndKey, int times) {
String str_temp = "";
try {
if (Tools.isUTF8(data)) { // 是否为UTF-8
str_temp = new String(data, "UTF-8");
} else {
str_temp = new String(data, "GB2312");
}
for (int sum = 0; sum < times; sum++) {
int index = 0;
int endindex = 0;
String tmpdelEndKey = "";
int size = delStartKey.length;
if (size == 1) {
index = str_temp.indexOf(delStartKey[0]);
tmpdelEndKey = delEndKey[0];
} else {
int[] tmpindex = new int[size];
for (int i = 0; i < size; i++) {
tmpindex[i] = str_temp.indexOf(delStartKey[i]);
}
for (int i = 0; i < size; i++) {
if (tmpindex[i] <= 0)
continue;
int tmpi = i;// 位置
if (size > i + 1) {
if (tmpindex[i + 1] < 0) {
} else if (tmpindex[i] - tmpindex[i + 1] > 0) {// 如果前面大于后面,位置就是后面的了
tmpi++;
}
}
index = tmpindex[tmpi];
tmpdelEndKey = delEndKey[tmpi];
}
}
if (index <= 0) {
break;
}
endindex = str_temp.indexOf(tmpdelEndKey, index)
+ tmpdelEndKey.length();
if (endindex <= 0) {
break;
}
str_temp = str_temp.substring(0, index)
+ str_temp.substring(endindex);
}
} catch (Exception e) {
e.printStackTrace();
}
return str_temp.getBytes();
}