Here you can find the source of safeSplitParameters(String parameters)
public static ArrayList<String> safeSplitParameters(String parameters)
//package com.java2s; /**/*from w ww.j av a2 s. c om*/ * LearnPAd - Verification Component * * Copyright (C) 2015 Unicam * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * @author Damiano Falcioni - Unicam <damiano.falcioni@gmail.com> */ import java.util.ArrayList; public class Main { public static ArrayList<String> safeSplitParameters(String parameters) { if (parameters == null || parameters.isEmpty()) return new ArrayList<String>(); ArrayList<String> ret = new ArrayList<String>(); int index = 0; do { int nextIndex = parameters.indexOf("&", index); if (nextIndex == -1) nextIndex = parameters.length(); do { if (!parameters.substring(nextIndex).startsWith("&")) break; nextIndex = parameters.indexOf("&", nextIndex + 1); if (nextIndex == -1) nextIndex = parameters.length(); } while (true); ret.add(parameters.substring(index, nextIndex)); index = nextIndex + 1; } while (index < parameters.length()); return ret; //return parameters.split("\\&"); } }