Java tutorial
//package com.java2s; //License from project: Open Source License import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { /** * Validates and processes the given Url * @param url The given Url to process * @return Pre-process Url as string */ public static String cleanUrl(StringBuilder url) { //ensure that the urls are absolute Pattern pattern = Pattern.compile("^(https?://[^/]+)"); Matcher matcher = pattern.matcher(url); if (!matcher.find()) throw new IllegalArgumentException("Invalid Url format."); //get the http protocol match String protocol = matcher.group(1); //remove redundant forward slashes String query = url.substring(protocol.length()); query = query.replaceAll("//+", "/"); //return process url return protocol.concat(query); } /** * Replaces all occurrences of the given string in the string builder * @param stringBuilder The string builder to update with replaced strings * @param toReplace The string to replace in the string builder * @param replaceWith The string to replace with */ public static void replaceAll(StringBuilder stringBuilder, String toReplace, String replaceWith) { int index = stringBuilder.indexOf(toReplace); while (index != -1) { stringBuilder.replace(index, index + toReplace.length(), replaceWith); index += replaceWith.length(); // Move to the end of the replacement index = stringBuilder.indexOf(toReplace, index); } } }