Мне нужно заменить https://9S&Re
на https://9S#Re
, чтобы я мог избежать раздельной логики. Моя цель - получить ключ как «user_image» и значение как "https://9S&Re"
. Но когда я использую split с '&', это дает мне неправильные результаты. Поэтому я пытаюсь создать шаблон регулярного выражения, который будет проверять между & * &, если нет равных между ними означает, что в одном из значений запроса есть символ амперсанда. Любая помощь действительно ценится.Регулярное выражение для замены амперсанда специальным символом
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.client.utils.URLEncodedUtils;
public class OAuthTest {
public static void main(String[] args) {
try {
//HashMap paramHashMap=new HashMap();
List<NameValuePair> args2= URLEncodedUtils.parse("tool=canvas&tool_guid=8314&user_image=https://9S&Re&launch_presentation_document_target=iframe", Charset.forName("UTF-8"));
for (NameValuePair arg:args2)
System.out.println(arg.getName()+"="+arg.getValue().replaceAll("#","&"));
} catch (Exception e) {
e.printStackTrace();
}
}
}