如何在 html 字符串中将 http://localhost 替换为 ~/
Posted
技术标签:
【中文标题】如何在 html 字符串中将 http://localhost 替换为 ~/【英文标题】:How to replace http://locallhost with ~/ in html string 【发布时间】:2019-08-22 20:01:39 【问题描述】:我想在下面的 C# 代码中替换 "Images/TestFiles/(file name)"
之前的每个 "http://localhost:59455/"
。
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】:*
是贪婪的,它匹配从第一个 http
到最后一个 /Images
的所有内容。添加?
使其惰性:
http.*?/Images
More information on greedy and lazy quantifiers on MSDN
This Regex on Regex Storm
但请注意,您的正则表达式也会匹配其中包含 /Images
的其他路径,例如:
http://localhost:59455/Whatever/Images
http://localhost:59455/ImagesButDifferent
因此您可能希望使其更具限制性。
【讨论】:
以上是关于如何在 html 字符串中将 http://localhost 替换为 ~/的主要内容,如果未能解决你的问题,请参考以下文章
如何在 html 字符串中将 http://localhost 替换为 ~/
如何在 Python 中将字符串与 HTML 连接以进行 PUT 请求?
如何在 Next JS 应用程序中将字符串转换为 HTML 元素?
如何在谷歌应用脚本中将段落 html 字符串转换为没有 html 标签的纯文本?