package cn.shishu.enumtest;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ChangProcess {
public static void main(String[] args) {
String startString="电子物证:";
String endString="。在搜查过程中";
String oldProcess="11卡拉所发生的了粉红色的回复了收到货发送到发送到11电子物证:计算机,书,鞋子,马甲,大马哈等的。在搜查过程中222的哈傻傻的撒谎的吉安市劳动局拉斯加了jlasj";
String goodsList="波多野结衣,杨振,水莱丽等";
String string=getNewProcess(startString, endString, oldProcess, goodsList);
System.out.println(string);
}
public static String getNewProcess(String startString,String endString,String oldProcess,String goodsList){
String process="";
//获取已经去掉内容的字符串
String surplusProcess=getSurplusProcess(oldProcess, startString, endString);
//插入特定字符串到特定字符串后面
process=insertGoodsListToProcess(startString, surplusProcess,goodsList);
return process;
}
//在特定的字符串后面添加数据
private static String insertGoodsListToProcess(String startString,String surplusProcess,String goodsList) {
// 原字符串
StringBuffer s = new StringBuffer(surplusProcess);
// 要插入的字符串
String insertStart =goodsList ;
// 插入位置
Pattern p = Pattern.compile(startString);
Matcher m = p.matcher(s.toString());
// 插入字符串
if (m.find()) {
s.insert((m.start() + startString.length()), insertStart);
}
return s.toString();
}
//将两个字符串间的内容去掉
private static String getSurplusProcess(String oldProcess,String startString,String endString) {
String surplusString="";
//获取开始子串的索引
int index1 = oldProcess.indexOf(startString);
if (index1 != -1) {
//获取结束字符的索引
int index2 = oldProcess.indexOf(endString, index1);
if (index2 != -1) {
//将才分的字符串进行拼接
String str3 = oldProcess.substring(0, index1+startString.length());
String str4=oldProcess.substring(index2, oldProcess.length());
surplusString=str3+str4;
}else {
return oldProcess;
}
}else {
return oldProcess;
}
return surplusString;
}
}