我想从&
之后的url替换?
,即查询字符串。
Example
http://stackoverflow.com&/questions/ask?a=abcd&b=bcd&-------->1
假设有一个Url为1 现在我想用{“
替换amp;
http://stackoverflow.com&/questions/ask?a=abcd&b=bcd&-------->2
我试过这个正则表达式
\?(.*?&(amp;).*?){1,} for using Regex.Replace(......);
我想用“”替换组[2]。 怎么做???????????
答案 0 :(得分:0)
您可以使用:
string pattern = @"((?:\?|\G(?<!^))(?:[^&]+|&(?!amp;))*&)amp;";
string replacement = "$1";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
模式细节:
( # capturing group: content after ? and before &
(?: # non capturing group: entry point
\? # literal ?
| # OR
\G(?<!^) # a match contiguous to a precedent match
)
(?:[^&]+|&(?!amp;))* # all that is not a & or a & not followed by "amp;"
& # literal & before "amp;"
)
amp;
答案 1 :(得分:0)
你可能不想替换放大器;没什么,但&amp; amp; amp; amp; amp; amp;通过&amp;。
我认为正则表达式在这里使用不正确。有关如何从URL中提取参数的信息,请参阅Get url parameters from a string in .NET。这将自动转换&amp; amp;到&amp;