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日