使用String.Replace对HTML进行字符串操作,替换相对路径

时间:2015-01-14 10:29:33

标签: c# string

我需要更改html文件中图像的链接,我遇到了问题。 我想使用String.Replace更改网址,但有些网址的网址是../而不是文件夹名称。

现在我有以下字符串:

string temp = "/english/img/logo_btn.gif";  

我希望这个字符串看起来像这样:

../../../logo_btn.gif 

所以我可以在html中找到并替换它。

我一直存在的问题是我无法摆脱/之间的文字。 我想尽可能避免定期表达,但如果没有别的办法,那就这样吧。

有没有人知道如何实现这个目标?

2 个答案:

答案 0 :(得分:1)

您可以使用temp.Count(c => c == '/')获取/的数量,使用Path - 类来构建它:

string temp = "/english/img/logo_btn.gif"; 
string folders = string.Concat(Enumerable.Repeat("../", temp.Count(c => c == '/')));
string result = Path.Combine(folders, Path.GetFileName(temp));  

答案 1 :(得分:1)

可能是使用这种正则表达式模式:

(.*?\/)

并将其替换为../

Demo