c#を使用してスペースを「+」に変換する
-
10-10-2019 - |
質問
文字列をURLに変換したいのですが、スペースの代わりに、キーワード間の「+」が必要です。
例えば:
"Hello I am"
に:
"Hello+I+am"
どうすればいいですか?
解決
String input = "Hello I am";
string output = input.Replace(" ", "+");
他のヒント
URLについては、使用することを強くお勧めします server.urlencode (asp.netで)または uri.escapeuristring (他のどこでも)string.replaceの代わりに。
あなたが試すことができます string.replace
"Hello I am".Replace(' ','+');
使用できます string.Replace
:
"Hello I am".Replace(' ', '+');
文字列をエンコードする場合(スペースが世話されるだけではありません)、使用する場合は、使用してください Uri.EscapeUriString
:
Uri.EscapeUriString("Hello I am");
MSDNから:
デフォルトでは、
EscapeUriString
メソッドは、RFC 2396の予約されていない文字を除くすべての文字をそれらの16進表現に変換します。国際的なリソース識別子(IRIS)または国際化ドメイン名(IDN)の解析が有効になっている場合、EscaseUristringメソッドは、RFC 3986の予約されていない文字を除くすべての文字を16進表現に変換します。すべてのUnicode文字は、逃げる前にUTF-8形式に変換されます。
スペースのみをプラスに置き換えたいと仮定し、完全なURLエンコードを行わないと仮定すると、内蔵を使用できます Replace
方法:
string withSpaces = "Hello I am";
string withPluses = withSpaces.Replace(' ', '+');
string s = "Hello I am";
s = s.Replace(" ", "+");
質問の「文字列をURLに変換する」部分に答えるには(正しいURLが必要な場合は、文字列を手動で変換しないでください):
string url = "http://www.baseUrl.com/search?q=" + HttpUtility.UrlEncode("Hello I am");
各パラメーターでURLエンコードを呼び出して、値を正しくエンコードします。
所属していません StackOverflow