我想将字符串转换为 url,而不是空格,它需要关键字之间的“+”。
例如:
"Hello I am"
至:
"Hello+I+am"
我该怎么做?
我想将字符串转换为 url,而不是空格,它需要关键字之间的“+”。
例如:
"Hello I am"
至:
"Hello+I+am"
我该怎么做?
对于 URL,我强烈建议使用Server.UrlEncode(在 ASP.NET 中)或Uri.EscapeUriString(在其他任何地方)而不是 String.Replace。
String input = "Hello I am";
string output = input.Replace(" ", "+");
您可以使用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 格式。
你可以试试String.Replace
"Hello I am".Replace(' ','+');
假设您只想用加号替换空格,而不是进行完整的 URL 编码,那么您可以使用内置Replace
方法:
string withSpaces = "Hello I am";
string withPluses = withSpaces.Replace(' ', '+');
要回答问题的“将字符串转换为 url”部分(如果您想要正确的 URL,则不应手动转换字符串):
string url = "http://www.baseUrl.com/search?q=" + HttpUtility.UrlEncode("Hello I am");
您对每个参数调用 Url Encode 以正确编码值。
string s = "Hello I am";
s = s.Replace(" ", "+");