class MultiUriTemplateUtil {

    public static String removeMultiVariableValue(
                    String requestPath,
                    String matchingPatternPath,
                    String variableName,
                    String value,
                    String valueSeparator){
        Map<String, String> map = UriTemplateUtil.extractUriTemplateVariables(requestPath, matchingPatternPath);
        String oldValue = map.get(variableName);
        // 如果没有值
        if (isNullOrEmpty(oldValue)){
            String messagePattern = "the requestPath:[{}],matchingPatternPath:[{}],variableName:[{}],value is null or empty~~~";
            LOGGER.debug(messagePattern, requestPath, matchingPatternPath, variableName);
            return requestPath; // 原样输出
        }

        //---------------------------------------------------------------
        List<String> list = toList(oldValue, valueSeparator);

        if (!list.contains(value)){
            String messagePattern = "requestPath:[{}],matchingPatternPath:[{}],variableName:[{}],oldValue:[{}],not contains({})~~~";
            LOGGER.debug(messagePattern, requestPath, matchingPatternPath, variableName, oldValue, value);
            return requestPath; // 原样输出
        }

        list.remove(value);// 如果值里面有 就移除

        map.put(variableName, toMutiValue(list, valueSeparator));

        return UriTemplateUtil.expand(matchingPatternPath, map);
    }

    private  MultiUriTemplateUtil();

}