import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SearchAndReplace{
public static String modifyString(String regex,String input,Modify modify) {
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(input);
StringBuffer sb = new StringBuffer();
while(m.find()) {
String string = modify.modifyGroupDate(m.group());
m.appendReplacement(sb, string);
}
m.appendTail(sb);
return sb.toString();
}
}
public interface Modify {
public String modifyGroupDate(String groupDate);
}
import com.jielan.callback.Modify;
import com.jielan.callback.SearchAndReplace;
public class Test {
public static void main(String[] args) {
String resultString = SearchAndReplace.modifyString("w+", "fewwi", new Modify() {
@Override
public String modifyGroupDate(String groupDate) {
return groupDate.toUpperCase();
}
});
System.out.println(resultString);
}
}