Дана url ссылка допустим https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8# нужно убрать все цифровые символы, и чтобы вывод ссылки был после первого знака ? и разделяться параметрами = или -, вывод ссылки должен быть "sourceid chrome instant ion espv ie UTF" хочу решить через регулярные выражения, пока что смог только убрать все символы. помогите плз разобраться с условием для регулярного выражения
String url = "https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8# ";
String regexp1 = "([?\\.\\&\\:\\;\\/\\=\\-\\#]+)";
//используем Паттерн, компилируем регулярное выражение
Pattern pattern1 = Pattern.compile(regexp1);
//делаем матчер по созданному паттерну и кидаем в конструктор наш URL.
Matcher matcher1 = pattern1.matcher(url);
String output = matcher1.replaceAll(" ");
System.out.println(output);
Если не извращаться регулярками, то можно так:
public static Map<String, List<String>> splitQuery(URL url) throws UnsupportedEncodingException {
final Map<String, List<String>> query_pairs = new LinkedHashMap<String, List<String>>();
final String[] pairs = url.getQuery().split("&");
for (String pair : pairs) {
final int idx = pair.indexOf("=");
final String key = idx > 0 ? URLDecoder.decode(pair.substring(0, idx), "UTF-8") : pair;
if (!query_pairs.containsKey(key)) {
query_pairs.put(key, new LinkedList<String>());
}
final String value = idx > 0 && pair.length() > idx + 1 ? URLDecoder.decode(pair.substring(idx + 1), "UTF-8") : null;
query_pairs.get(key).add(value);
}
return query_pairs;
}
Метод вернёт мапу с параметрами и значениями оных. Из неё уже можно отбросить все значения-числа.
По ссылке есть и другие решения разной степени простоты.
Можно сделать так:
String url = "https://www.google.ru/webhp?sourc23eid=chrome-instant&ion=1&espv=2&ie=UTF-8#";
Pattern pattern = Pattern.compile("[\\w]+=([\\w-]+)&?");
Matcher matcher = pattern.matcher(url);
while (matcher.find())
System.out.println(matcher.group(1));
Вывод будет следующий:
chrome-instant
1
2
UTF-8
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Помогите сверстать блок менюне могу разобраться как сделать все в один ряд
Есть шаблон адаптивного дизайна сайта https://jsfiddlenet/u0t72dgh/
Как реализовать такое окно и чтобы резина была?