固定字符串正则表达式C#

时间:2014-09-10 16:08:49

标签: c# regex string

大家好我想知道有关正则表达式中的固定字符串的内容。 如何表示固定字符串,无论C#中的特殊字符或字母数字?

例如;看看下面的字符串:

infinity.world.uk/Members/namelist.aspx?ID=-1&fid=X

X之前的整个字符串将是固定字符串(即;整个句子将显示相同)但是只有X将是十进制变量。

我想要的是我想将十进制数X附加到固定字符串。如何用C#正则表达式来表达。

感谢您的帮助

3 个答案:

答案 0 :(得分:6)

string fulltext = "inifinity.world.uk/Members/namelist.aspx?ID=-1&fid=" + 10;

答案 1 :(得分:1)

如果您需要修改现有网址,请不要使用正则表达式,string.Formatstring.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

演示:https://dotnetfiddle.net/zZ9Y1h

答案 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());