http://www.cg51.net/Jobs/JobList.aspx?JobClassOne=GBAA&JobClassTwo=GCAF&City=FDMR&Date=7&Type=JobName&KeyWord=程序员
取里面"="号后面的四位代码,每个"="号后面不一定总是有四位代码,有时这个有另一个没有请问怎么取???我这是存在数组里面的,所以不能用Request.QueryString["JobClassOne"]来取.
取里面"="号后面的四位代码,每个"="号后面不一定总是有四位代码,有时这个有另一个没有请问怎么取???我这是存在数组里面的,所以不能用Request.QueryString["JobClassOne"]来取.
二,用split,先对&分组,再对=分组,应该取出来了吧?第一次分组后得到的数组大小就是参数多少
第二个....
try {
Regex RegexObj = new Regex("(?<==)\\w*(?=[&|])");
Match MatchResults = RegexObj.Match(SubjectString);
while (MatchResults.Success) {
MatchResults = MatchResults.NextMatch();
}
} catch (ArgumentException ex) {
// Syntax error in the regular expression
}
List<quest> qq = new List<quest>();
string a = "http://www.cg51.net/Jobs/JobList.aspx?JobClassOne=GBAA&JobClassTwo=GCAF&City=FDMR&Date=7&Type=JobName&KeyWord=程序员";
a = Regex.Match(a, "(?<=.*\\?).*").Value;
if (a.Length > 0)
{
string[] strs1 = Regex.Split(a, "\\&");
if (strs1.Length > 0)
{
foreach (string s1 in strs1)
{
string[] strs2 = Regex.Split(s1, "=");
if (strs2.Length == 2)
{
qq.Add(new quest(strs2[0],strs2[1]));
}
}
}
}
foreach (quest q in qq)
{
TreeNode node = new TreeNode(q.name);
node.ToolTipText = q.value;
this.treeView1.Nodes.Add(node);
}---------------------下面是quest类的声明---------
public class quest
{
public string name;
public string value;
public quest(string _name, string _value)
{
this.name = _name;
this.value = _value;
}
}我试了一下一个这样的例子
http://www.cg51.net/Jobs/JobList.aspx?JobClassOne=&JobClassTwo=&City=FDMR&Date=&Type=JobName&KeyWord=程序员
解出来是这样的
JobClassOne:
JobClassTwo:
City:FDMR
Date:
Type:JobName
KeyWord:程序员