如有一个URL
string url=" http://www.znpx.net/Default.aspx?ID=1&year=2000&type=3";
或者
string url ="http://www.znpx.net/Default.aspx?ID=1&year=2000";想把上面的字符串中的&year=2000替换为&year=2001
意思是要替换掉2000,
不能写成url.Replace("2000","2001");
这样没意思有没有什么正则能替换"&year="之后"&"之前的字符?或者是"&year="之后"&"的?
string url=" http://www.znpx.net/Default.aspx?ID=1&year=2000&type=3";
或者
string url ="http://www.znpx.net/Default.aspx?ID=1&year=2000";想把上面的字符串中的&year=2000替换为&year=2001
意思是要替换掉2000,
不能写成url.Replace("2000","2001");
这样没意思有没有什么正则能替换"&year="之后"&"之前的字符?或者是"&year="之后"&"的?
如果你的参数值是加密的,你可以找到(&)参数再对参数值进行替换!
换成绑定的不就行了。<%=urlpara %>后台
public static string urlpara=string.Empty;赋值
string str1 = "http://www.znpx.net/Default.aspx?ID=1&year=2000";
string result = Regex.Replace(str, @"(?is)(?<=&year=)[^&]*", "2011");
string result1 = Regex.Replace(str1, @"(?is)(?<=&year=)[^&]*", "2011");
Response.Write(result);
Response.Write("<br/>");
Response.Write(result1);
/*
结果:
"http://www.znpx.net/Default.aspxID=1&year=2011&type=3"
http://www.znpx.net/Default.aspx?ID=1&year=2011
*/
//using System;
using System.Text.RegularExpressions;class Sample
{
public static void Main()
{
//替换"&year="之后"&"之前的字符 的正则表达式
string pattern="&year=.*&";
Regex rgx=new Regex(pattern);
//输入的字符串
string inputStr=@"string url=' http://www.znpx.net/Default.aspx?ID=1&year=2000&type=3;";
//要替换的字符串
string replaceStr="&year=2001&";
string outputStr=rgx.Replace(inputStr,replaceStr); Console.WriteLine(outputStr);
Console.Read();
}
}
Regex re=new Regex("&year=[\d]{0,4}");
var str="张三喜欢李四";
str=str.replace(/张三/,"王五");
alert(str);
}
如果URL还有种可能呢?
如:string str1 = "http://www.znpx.net/Default.aspx?year=2000&ID=1";
怎么把这个加进正则啊?之前给的那个OK,现在是可能会出现?year=不一定是&year=
string str = "\"http://www.znpx.net/Default.aspx?ID=1&year=2000&type=3\"";
string str1 = "http://www.znpx.net/Default.aspx?ID=1&year=2000";
string str2 = "http://www.znpx.net/Default.aspx?year=2000";
string result = Regex.Replace(str, @"(?is)(?<=[&?]year=)[^&]*", "2011");
string result1 = Regex.Replace(str1, @"(?is)(?<=[&?]year=)[^&]*", "2011");
string result2 = Regex.Replace(str2, @"(?is)(?<=[&?]year=)[^&]*", "2011");
Response.Write(result);
Response.Write("<br/>");
Response.Write(result1);
Response.Write("<br/>");
Response.Write(result2);
/*
结果
"http://www.znpx.net/Default.aspx?ID=1&year=2011&type=3"
http://www.znpx.net/Default.aspx?ID=1&year=2011
http://www.znpx.net/Default.aspx?year=2011
*/
Replace传递的值要再赋值的……