使用java获取字符串中参数的值
我有字符串变量使用java获取字符串中参数的值,java,string,Java,String,我有字符串变量string temp=“acc=101&name=test”以及如何从临时字符串中获取nameparam的值。您可以使用如下方法 temp.split("&")[1].split("=")[1] public static String getValue(String queyStr, String paraamName){ String[] queries=queyStr.split("&"); for(String param:queries
string temp=“acc=101&name=test”
以及如何从临时字符串中获取name
param的值。您可以使用如下方法
temp.split("&")[1].split("=")[1]
public static String getValue(String queyStr, String paraamName){
String[] queries=queyStr.split("&");
for(String param:queries){
if(param.indexOf(paraamName)!=-1)
return param.split("=")[1];
}
return null;
}
并调用如下方法
getValue(temp, "name")
您可以使用如下方法
public static String getValue(String queyStr, String paraamName){
String[] queries=queyStr.split("&");
for(String param:queries){
if(param.indexOf(paraamName)!=-1)
return param.split("=")[1];
}
return null;
}
并调用如下方法
getValue(temp, "name")
假设您有常量
格式
:
String temp="acc=101&name=test";
String result =temp.substring(temp.lastIndexOf("=")+1,temp.length());
//result is test
假设您有常量
格式
:
String temp="acc=101&name=test";
String result =temp.substring(temp.lastIndexOf("=")+1,temp.length());
//result is test
如果您正在寻找一种从URL解析获取参数的方法:
public static Map<String, String> splitQuery(URL url) throws UnsupportedEncodingException {
Map<String, String> query_pairs = new LinkedHashMap<String, String>();
String query = url.getQuery();
String[] pairs = query.split("&");
for (String pair : pairs) {
int idx = pair.indexOf("=");
query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8"));
}
return query_pairs;
}
publicstaticmapsplitquery(URL)抛出UnsupportedEncodingException{
Map query_pairs=新建LinkedHashMap();
String query=url.getQuery();
String[]pairs=query.split(&);
for(字符串对:对){
int idx=pair.indexOf(“=”);
query_pairs.put(urldecker.decode(pair.substring(0,idx),“UTF-8”)、urldecker.decode(pair.substring(idx+1),“UTF-8”);
}
返回查询对;
}
您可以使用
.get(“name”)
访问返回的映射,问题中给出的URL将返回“test”。如果您正在寻找从URL解析get参数的方法:
public static Map<String, String> splitQuery(URL url) throws UnsupportedEncodingException {
Map<String, String> query_pairs = new LinkedHashMap<String, String>();
String query = url.getQuery();
String[] pairs = query.split("&");
for (String pair : pairs) {
int idx = pair.indexOf("=");
query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8"));
}
return query_pairs;
}
publicstaticmapsplitquery(URL)抛出UnsupportedEncodingException{
Map query_pairs=新建LinkedHashMap();
String query=url.getQuery();
String[]pairs=query.split(&);
for(字符串对:对){
int idx=pair.indexOf(“=”);
query_pairs.put(urldecker.decode(pair.substring(0,idx),“UTF-8”)、urldecker.decode(pair.substring(idx+1),“UTF-8”);
}
返回查询对;
}
您可以使用.get(“name”)
访问返回的映射,使用问题中给出的URL,这将返回“test”。公共静态映射getParamMap(字符串查询)
{
字符串[]params=query.split(&);
Map Map=newhashmap();
for(字符串参数:params)
{
字符串名称=参数拆分(“=”[0];
字符串值=参数拆分(“=”[1];
map.put(名称、值);
}
返回图;
}
字符串temp=“acc=101&name=test”;
映射映射=getParamMap(临时);
对于(对象:map.keySet()){
System.out.println(“key=“+object+”value=“+map.get(object));
}
System.out.println(map.get(“name”);
公共静态映射getParamMap(字符串查询)
{
字符串[]params=query.split(&);
Map Map=newhashmap();
for(字符串参数:params)
{
字符串名称=参数拆分(“=”[0];
字符串值=参数拆分(“=”[1];
map.put(名称、值);
}
返回图;
}
字符串temp=“acc=101&name=test”;
映射映射=getParamMap(临时);
对于(对象:map.keySet()){
System.out.println(“key=“+object+”value=“+map.get(object));
}
System.out.println(map.get(“name”);
以下是一种非常规方法
String str = "name=";
System.out.println(temp.substring(temp.indexOf(str) + str.length()));
当然,它可以以更一般的方式实施:
String temp = "acc=101&name=test";
StringTokenizer st = new StringTokenizer(temp, "&");
String paramName = "name";
String paramValue = "";
while(st.hasMoreElements()) {
String str = st.nextToken();
if (str.contains(paramName)) {
paramValue = str.substring(str.indexOf(paramName) + paramName.length() + 1);
break;
}
}
System.out.println(paramValue);
这里有一个非一般的方法
String str = "name=";
System.out.println(temp.substring(temp.indexOf(str) + str.length()));
当然,它可以以更一般的方式实施:
String temp = "acc=101&name=test";
StringTokenizer st = new StringTokenizer(temp, "&");
String paramName = "name";
String paramValue = "";
while(st.hasMoreElements()) {
String str = st.nextToken();
if (str.contains(paramName)) {
paramValue = str.substring(str.indexOf(paramName) + paramName.length() + 1);
break;
}
}
System.out.println(paramValue);
我会把整个参数放在一个数组中,这样很容易得到值
HashMap<String, String> valuemap = new HashMap<String, String>();
…然后把它们放到你的HashMap中。比你有一个很好的所有价值观的集合,如果你有两个以上的价值观也更好。如果要恢复该值,请使用:
valuemap.get("acc")
valuemap.get("name")
我会把整个参数放在一个数组中,这样很容易得到值
HashMap<String, String> valuemap = new HashMap<String, String>();
…然后把它们放到你的HashMap中。比你有一个很好的所有价值观的集合,如果你有两个以上的价值观也更好。如果要恢复该值,请使用:
valuemap.get("acc")
valuemap.get("name")
您可以使用拆分函数string temp=“acc=101&name=test”;字符串[]tempParts=temp.split(“name=”);System.out.println(tempParts[1]);如果您在web环境中,框架的类可能会提供服务方法来分析URL参数,例如,该方法似乎与您可以使用split functionString temp=“acc=101&name=test”的方法类似;字符串[]tempParts=temp.split(“name=”);System.out.println(tempParts[1]);如果您在web环境中,框架的类可能会提供分析URL参数的服务方法,例如,该方法似乎与@downvoter类似,我希望看到您的评论。感谢您的宝贵评论。当然,这有助于我将来更正代码:)@downvoter,我希望看到您的评论。感谢您的宝贵评论。当然,这有助于我将来更正代码:)