c# - 如何使用 C# 将字符串中的 "http:"替换为 "https:"?

我已将所有 URL 存储在我的应用程序中,并使用“http://”- 我现在需要检查并将所有 URL 替换为“https:”。现在我有:

    foreach (var link in links)
        {
            if (link.Contains("http:"))
            {
                /// do something, slice or replace or what?
            }
        }

我只是不确定更新字符串的最佳方式是什么。如何才能做到这一点?

最佳答案

如果你正在处理 uris,你可能想使用 UriBuilder因为对像 URI 这样的结构化数据进行字符串替换不是一个好主意。

var builder = new UriBuilder(link);
builder.Scheme = "https";
Uri modified = builder.Uri;

不清楚 links 的类型是什么,但您可以使用 linq 使用修改后的 uris 创建一个新集合:

IEnumerable<string> updated = links.Select(link => {
    var builder = new UriBuilder(link);
    builder.Scheme = "https";
    return builder.ToString();
});

关于c# - 如何使用 C# 将字符串中的 "http:"替换为 "https:"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17957150/

相关文章:

c++ - assert 语句在 C++ 中不起作用

email - 为什么 CR 和 LF 在电子邮件中一起出现如此重要?

arrays - 在 C 中,是否可以创建没有 '\0(null)' 的字符串?

php - 如何在php中显示x天前的时间

java - 如何重写输入循环以不包含代码重复?

csv - 如何将密码和登录数据导入 firefox?

c# - 获取图标 128*128 文件类型 C#

flutter - 为什么 Visual Studio Code 中的代码文本没有颜色?

python - python中的快速过滤方法

php - 我可以获取最初在包含文件中调用的 PHP 文件的路径吗?