最近工作中需要写这么一个方法,来替换字符串中最后一次匹配
注意:我的需求只是单纯的字符串替换为字符串,是不支持
正则表达式
的
代码如下:
/**
* <br>替换字符串里最后一次出现的 子字符串
* @param string 原生字符串
* @param match 匹配的字符串
* @param replace 要替换的字符串
* @return
* @author Yellowtail
* @since 2018-08-18
*/
public static String replaceLast(String string, String match, String replace) {
if (isBlank(string) || null == replace) {
//参数不合法,原样返回
return string;
}
StringBuilder sBuilder = new StringBuilder(string);
int lastIndexOf = sBuilder.lastIndexOf(match);
if (-1 == lastIndexOf) {
return string;
}
return sBuilder.replace(lastIndexOf, lastIndexOf + match.length(), replace).toString();
}
网友评论