Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
固定字符串正则表达式C#_C#_Regex_String - Fatal编程技术网

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

固定字符串正则表达式C#,c#,regex,string,C#,Regex,String,大家好,我想知道一些关于正则表达式中固定字符串的事情。 如何表示固定字符串,而不考虑C#中的特殊字符或字母数字 对于eg;请查看以下字符串: infinity.world.uk/Members/namelist.aspx?ID=-1&fid=X X之前的整个字符串将是固定字符串(即,整个句子将显示相同),但只有X将是十进制变量 我想要的是在固定字符串中附加十进制数X。如何用C#正则表达式来表示 感谢您的帮助。String.Format是替换字符串中标记值的一种方法,如果您需要的话。在下面的示例中

大家好,我想知道一些关于正则表达式中固定字符串的事情。 如何表示固定字符串,而不考虑C#中的特殊字符或字母数字

对于eg;请查看以下字符串:

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

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

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


感谢您的帮助。

String.Format是替换字符串中标记值的一种方法,如果您需要的话。在下面的示例中,{0}是一个标记,String.Format接受fixedString并用myDecimal的值替换该标记

string fulltext = "inifinity.world.uk/Members/namelist.aspx?ID=-1&fid=" + 10;
string fixedString = "infinity.world.uk/Members/namelist.aspx?ID=-1&fid={0}";
decimal myDecimal = 1.5d;
string myResultString = string.Format(fixedString, myDecimal.ToString());

如果需要修改现有url,请不要使用正则表达式、
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


演示:

您是否正在尝试提取
X
并将其附加到其他地方?这里绝对不需要正则表达式。@Arean:那为什么还要用正则表达式呢。只需将您需要的任何内容连接到字符串,即
您的字符串+值
?@Arean:下次,请尝试给出正确的问题标题@Arean,你知道正则表达式是什么吗?简单地说,这是一种在字符串中查找字符模式的方法。我认为每个读过这个问题的人都很难理解正则表达式在字符串文字结尾追加文本时的用法。如果这是OP想要的,那么你应该得到1000^0的赞成票,因为你理解了它,他应该得到10^1的反对票,因为他的问题…@AdrianoRepetti OP说,“我想要的是,我想在固定字符串中附加十进制数X”是的,我看到了,但我想“不,他一定是别的什么东西“哈哈,我的意思是用正则表达式method@clcto当前位置他只想让它看起来像一个巨大的数字。你被愚弄了:多谢,你的解决方案正是我所需要的。但这里的问题是我不知道X包含什么值。只有在我从我扫描的网页中检索到匹配的链接后,我才能知道?当然,你可以解析任何url并更改(或添加或删除)每个查询。哦,我明白了。ParseQueryString(x)解析并返回同一查询字符串参数的多次出现。在这种情况下,它将返回Uri()中指定的所有链接。酷,没错。通常,最好使用已有的bcl类来解析/操作/格式化,而不是直接使用string/regex方法