【问题标题】:Eliminate additional forward/ backward slashes and build the Url消除额外的正/反斜杠并构建 URL
【发布时间】:2018-08-28 05:16:08
【问题描述】:

我正在将一个 VB6 项目转换为 C#。在 VB6 项目中,我们手动创建了 url 构建方法。在 C# 中,我们有 Uri、UriBuilder 等库。

我需要找到一种方法来通过删除额外的反斜杠来构建 url。

例如,如果我使用 UriBuilder,

UriBuilder uriBuilder = new UriBuilder();
uriBuilder.Scheme = "https";
uriBuilder.Host = @"www.facebook.com/";
uriBuilder.Path = @"/asa/dsd\";

当我打电话给uriBuilder.ToString()时,我得到的结果是

https://www.facebook.com//asa/dsd/

从输出中,UriBuilder 没有删除主机名中的额外正斜杠/反斜杠。

谁能告诉我,C# 中是否有一个库,我们可以使用它来通过删除额外的斜杠来构建 url?

谢谢。

【问题讨论】:

标签: c# url


【解决方案1】:

试试这个:

var baseUri = new Uri("https://www.facebook.com/");
var yourUri = new Uri(baseUri, @"/asa/dsd\");
var result = yourUri.ToString(); // https://www.facebook.com/asa/dsd/ 

【讨论】:

    【解决方案2】:

    您可以使用string.Trim 方法去除字符串开头和开头不需要的斜杠:

    UriBuilder uriBuilder = new UriBuilder();
    uriBuilder.Scheme = "https";
    uriBuilder.Host = @"www.facebook.com/";
    uriBuilder.Host = uriBuilder.Host.Trim('/');
    uriBuilder.Path = @"/asa/dsd\";
    uriBuilder.Path = uriBuilder.Path.Trim('/');
    

    【讨论】:

      猜你喜欢
      • 2015-08-09
      • 2015-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多