For eksempel findes der en streng: aaa=1&ccc=test&ddd=code123&..... og mange andre parametre!
Hvis det er en adressebarparameter, kan du få værdien ved blot at Request.QueryString["parameter name"] eller direkte Request["parameter name"]
Hvis det bare er en streng, og du vil parse den, er der to måder 1 Regulært udtryk 2Split og udfør derefter split traversering Regulær udtryksmetode:
- /// <summary>
- /// 获取url参数
- /// </summary>
- /// <param name="paramName">参数名称</param>
- /// <param name="paramsStr">整个url</param>
- /// <returns></returns>
- public static string GetParams(string paramName, string paramsStr)
- {
- Regex regParam = new Regex("(?:^|&)" + paramName + "=(?<Value>[^&]*)", RegexOptions.IgnoreCase);
- Match mth = regParam.Match(paramsStr.Trim());
- if (mth.Success)
- {
- //匹配成功
- return mth.Groups["Value"].Value;
- }
- else
- {
- return null;
- }
- }
Kopier kode
Hvad angår den anden metode, skal du først splitte('&'), derefter iterere gennem dette array, og derefter splitte('=') for at afgøre, om [0]-parameternavnet er lig med den specificerede værdi, og hvis det er en specificeret værdi, så direkte returnere til [1]-dobbelt-for-løkken
|