大家好我想知道有关正则表达式中的固定字符串的内容。 如何表示固定字符串,无论C#中的特殊字符或字母数字?
例如;看看下面的字符串:
infinity.world.uk/Members/namelist.aspx?ID=-1&fid=X
X之前的整个字符串将是固定字符串(即;整个句子将显示相同)但是只有X将是十进制变量。
我想要的是我想将十进制数X附加到固定字符串。如何用C#正则表达式来表达。
感谢您的帮助
答案 0 :(得分:6)
string fulltext = "inifinity.world.uk/Members/namelist.aspx?ID=-1&fid=" + 10;
答案 1 :(得分:1)
如果您需要修改现有网址,请不要使用正则表达式,string.Format
或string.Replace
,否则会出现参数编码问题
改为使用Uri和HttpUtility:
var url = new Uri("http://infinity.world.uk/Members/namelist.aspx?ID=-1&fid=X");
var query = HttpUtility.ParseQueryString(url.Query);
query["fid"] = 10.ToString();
var newUrl = url.GetLeftPart(UriPartial.Path) + "?" + query;
结果:http://infinity.world.uk/Members/namelist.aspx?ID=-1&fid=10
例如,使用query["fid"] = "%".ToString();
正确生成http://infinity.world.uk/Members/namelist.aspx?ID=-1&fid=%25
答案 2 :(得分:0)
String.Format是一种替换字符串中的标记值的方法,如果这是你想要的。在下面的示例中,{0}是一个标记,String.Format接受fixedString并将标记替换为myDecimal的值。
string fixedString = "infinity.world.uk/Members/namelist.aspx?ID=-1&fid={0}";
decimal myDecimal = 1.5d;
string myResultString = string.Format(fixedString, myDecimal.ToString());