Java替换字符串中某两个子字符串之间的部分

  • Post author:
  • Post category:java


/**
 * 字符串工具: 将字符串中某两个子字符串之间的部分替换掉(两个子字符串都是第一次出现的)
 * example: ("abc de fg", "bc", "f", "00000") ==> "abc00000fg"
 * @param source 待处理的字符串;
 * @param start 第一次出现的开始子字符串;
 * @param end 第一次出现的结束子字符串;
 * @param replace 待替换的字符串
 * @return 替换后新的字符串, 如果不存在子字符串中任何一个都将原字符返回
 */
public static String getSurplusString(String source, String start, String end, String replace) {
    int startIndex = source.indexOf(start);
    if (startIndex != -1) {
        int endIndex = source.indexOf(end, startIndex + 1);
        if (endIndex != -1) {
            String beforeStart = source.substring(0, startIndex + start.length());
            String afterEnd = source.substring(endIndex);
            return beforeStart + replace + afterEnd;
        } else {
            return source;
        }
    } else {
        return source;
    }
}



版权声明:本文为Momor1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。