C#编程:Regex.Split方面的问题。

来源:百度知道 编辑:UC知道 时间:2024/05/14 00:21:06
前提:是这样两个链接用来传递参数:<A href="?/_write/">和<form action="?/_save/" method="post">

正题:string qurystr=Convert.ToString(Request.ServerVariables["QUERY_STRING"]).Trim().ToLower();

if(qurystr.IndexOf("/_",0)>=0)
{ string[] strlist=Regex.Split(qurystr,"/_",RegexOptions.IgnoreCase)[1].Split(new char[] {'/'});
return strlist;
}
else
{ return new string[] {""};
}

上述即为相关源程序,关键问题即关键不理解的语句为:
string[] strlist=Regex.Split(qurystr,"/_",RegexOptions.IgnoreCase)[1].Split(new char[] {'/'});
这句有很多地方不理解:
1.这句话最后是得到一个名为strlist的字符串数组吗?
2.Regex.Split是个什么东东?是一种方法吗?它的作用是什么?它的参数有哪些,各自代表什么含义?
3.Regex.Split(qurystr,"/_",RegexOptions.IgnoreCase)[1]中的“[1]”是什么意思?
4.这句最后的Split(new char[] {'/'})又是什么意思?跟前面有什么联系?

总之,“string[] strlist=Regex.Split(qurystr,"/_",RegexOptions.Ignore

Regex.Split(//拆分字符串函数
qurystr,//要拆分的字符串
"/_",//拆分标志符号
RegexOptions.IgnoreCase//不区分大小写
)//得到一个string[]
[1]//得到string数组的第二个字符串
.Split(new char[] {'/'}); //再对得到的第二个字符串进行二次拆分用“/”分割,得到一个新的字符串数组

1,是的
2。它是用来匹配字符串用的,RegexOptions.IgnoreCase是一个静态的参数后面的Split(new char[] {'/'}); 可以这样写Split('/');

3。[1]是第一个分组
4,在2里说了
整句是:
用,"/_",匹配qurystr(RegexOptions.IgnoreCase是忽略大小写的意思)
取第一个组的字符串,
以‘/’把取出来的字符串分成一个字符数组