package utils; public class StringReplaceUtil { public static String replace(String str,String xx,String yy){ String[]strArray=toArray(str); String[]xxArray=toArray(xx); // String[]yyArray=toArray(yy); // int start=-1; // int end=-1; for (int i = 0; i < strArray.length; i++) { boolean flag=true; for (int j = 0; j < xxArray.length; j++) { if(!strArray[i+j].equals(xxArray[j])){ flag=false; break; } } if(flag){ strArray[i]=yy; for (int j = 1; j < xxArray.length; j++) { strArray[i+j]=""; } } } return toStr(strArray); } public static String replace(String str,String xx,String yy,String[]except){ String[]strArray=toArray(str); String[]xxArray=toArray(xx); // String[]yyArray=toArray(yy); // int start=-1; // int end=-1; for (int i = 0; i < strArray.length; i++) { boolean flag=true; boolean flag4=false; //boolean flag2=true; for (int j = 0; j < xxArray.length; j++) { if(!strArray[i+j].equals(xxArray[j])){ flag=false; break; } } if(flag){ System.out.println("flag="+flag); for (int ii = 0; ii < except.length; ii++) { boolean flag3=true; String[]prefix=toArray(getPrefix(except[ii])); String[]suffix=toArray(getSuffix(except[ii])); int strat=i-prefix.length; boolean flag1=true; for (int jj = 0; jj < prefix.length; jj++) { if(strat<0){ flag1=false; break; } if(!strArray[strat+jj].equals(prefix[jj])){ // flag1=false; flag1=false; break; } } //System.out.println("flag1="+flag1); if(flag1){ int end=i+xxArray.length; boolean flag2=true; for (int jj = 0; jj < suffix.length; jj++) { if(end+jj>=strArray.length){ flag2=false; break; } if(!strArray[end+jj].equals(suffix[jj])){ flag2=false; break; } } //System.out.println("i="+i+","+"flag1="+flag1+",flag2="+flag2); flag3=flag1&&flag2; }else{ flag3=false; } if(flag3){ flag4=flag3; break; } } } //System.out.println("f4="+flag4+",flag="+flag+",i="+i); if(flag&&(flag4==false)){ strArray[i]=yy; for (int j = 1; j < xxArray.length; j++) { strArray[i+j]=""; } } } return toStr(strArray); } public static String getPrefix(String str) { int here=str.indexOf("+"); return str.substring(0,here); } public static String getSuffix(String str) { int here=str.indexOf("+"); return str.substring(here+1); } private static String toStr(String[] strArray) { String last=""; for (int i = 0; i < strArray.length; i++) { last+=strArray[i]; } return last; } private static String[] toArray(String str) { int len=str.length(); String[]last=new String[len]; for (int i = 0; i <len ; i++) { last[i]=""+str.charAt(i); } return last; } }

skyvsdes LV1
2021年7月29日
jnwkkk LV1
2020年10月8日
李英齐 LV1
2020年10月1日
mengxiangjava LV2
2019年10月20日
墨染青衫 LV2
2019年6月17日
734688149 LV1
2019年6月3日
sxzysh LV1
2019年5月23日
double123456lll LV1
2019年5月5日
ethrtwfd LV1
2019年3月31日
photograph LV1
2018年10月13日