我想从下面的 C# 代码中替换"http://localhost:59455/"之前的每一个。"Images/TestFiles/(file name)"string tags = @"<p><img class='img - fluid' src='http://localhost:59455/Images/TestFiles/1.JPG'></p><p><br></p><p><img class='img-fluid' src='http://localhost:59455/Images/TestFiles/2.JPG'></p>";
string final = Regex.Replace(tags, "http.*/Images", "~/Images");但它总是给我错误的结果,如下所示:<p><img class='img - fluid' src='~/Images/TestFiles/2.JPG'></p>虽然我期待这样的结果:<p><img class='img - fluid' src='~/Images/TestFiles/1.JPG'></p><p><br></p><p><img class='img-fluid' src='~/Images/TestFiles/2.JPG'></p>你可以看到,它只替换了一个。
1 回答
开心每一天1111
TA贡献1836条经验 获得超13个赞
*
是贪心的,匹配从第一个http
到最后的所有内容/Images
。添加一个?
使其变得懒惰:
http.*?/Images
不过要小心,您的正则表达式也会匹配其中包含/Images
的其他路径,例如:
http://localhost:59455/Whatever/Images http://localhost:59455/ImagesButDifferent
所以你可能想让它更具限制性。
- 1 回答
- 0 关注
- 100 浏览
添加回答
举报
0/150
提交
取消