【问题标题】:Converting space to "+" using C#使用 C# 将空格转换为“+”
【发布时间】:2011-05-10 03:32:10
【问题描述】:

我想将字符串转换为 url,而不是空格,它需要在关键字之间使用“+”。

例如:

"Hello I am"

到:

"Hello+I+am"

我该怎么做?

【问题讨论】:

    标签: c# string character-replacement


    【解决方案1】:

    对于 URL,我强烈建议使用 Server.UrlEncode(在 ASP.NET 中)或 Uri.EscapeUriString(在其他任何地方)而不是 String.Replace。

    【讨论】:

      【解决方案2】:
      String input = "Hello I am";
      string output = input.Replace(" ", "+");
      

      【讨论】:

      • 感谢帮助,但如果字符串包含多个单词,我只需要将空格转换为加号。在这种情况下我该如何建造?
      【解决方案3】:

      你可以试试String.Replace

      "Hello I am".Replace(' ','+');

      【讨论】:

        【解决方案4】:

        你可以使用string.Replace:

        "Hello I am".Replace(' ', '+');
        

        如果您想对字符串进行 url 编码(因此不仅要处理空格),请使用 Uri.EscapeUriString:

        Uri.EscapeUriString("Hello I am");
        

        来自 MSDN:

        默认情况下,EscapeUriString 方法将所有字符(RFC 2396 未保留字符除外)转换为其十六进制表示。如果启用国际资源标识符 (IRI) 或国际化域名 (IDN) 解析,则 EscapeUriString 方法会将所有字符(RFC 3986 未保留字符除外)转换为其十六进制表示。所有 Unicode 字符在转义之前都会转换为 UTF-8 格式。

        【讨论】:

        • 请注意,使用 EscapeUriString 将产生 "Hello%20I%20am",而不是 "Hello+I+am"。尽管在任何健全的系统中,这都不应该是一个真正的问题。
        【解决方案5】:

        假设你只想用加号替换空格,而不做完整的URL编码,那么你可以使用内置的Replace方法:

        string withSpaces = "Hello I am";
        
        string withPluses = withSpaces.Replace(' ', '+');
        

        【讨论】:

          【解决方案6】:
          string s = "Hello I am";
          s = s.Replace(" ", "+");
          

          【讨论】:

          • 最好使用String.Replace(char,char) 而不是String.Replace(string,string)
          【解决方案7】:

          要回答问题的“将字符串转换为 url”部分(如果您想要正确的 URL,则不应手动转换字符串):

          string url = "http://www.baseUrl.com/search?q=" + HttpUtility.UrlEncode("Hello I am");
          

          您对每个参数调用 Url Encode 以正确编码值。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-12-05
            • 2011-04-11
            • 1970-01-01
            • 2013-06-29
            • 1970-01-01
            • 2013-03-26
            • 1970-01-01
            相关资源
            最近更新 更多