4

文字列をURLに変換したいのですが、スペースの代わりに、キーワードの間に「+」が必要です。

例えば:

"Hello I am"

に:

"Hello+I+am"

これはどのようにすればよいですか?

4

7 に答える 7

11

URLについては、String.Replaceの代わりにServer.UrlEncode ( ASP.NET内)またはUri.EscapeUriString (その他すべて)を使用することを強くお勧めします。

于 2010-11-15T09:49:45.733 に答える
5
String input = "Hello I am";
string output = input.Replace(" ", "+");
于 2010-11-15T09:48:46.973 に答える
3

あなたが使用することができますstring.Replace

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

文字列をURLエンコードする場合(スペースだけでなく)、次を使用しますUri.EscapeUriString

Uri.EscapeUriString("Hello I am");

MSDNから:

デフォルトでは、このEscapeUriStringメソッドはRFC 2396の予約されていない文字を除くすべての文字を、16進表現に変換します。International Resource Identifiers(IRI)またはInternationalized Domain Name(IDN)の解析が有効になっている場合、EscapeUriStringメソッドは、RFC 3986の予約されていない文字を除くすべての文字を、16進表現に変換します。すべてのUnicode文字は、エスケープされる前にUTF-8形式に変換されます。

于 2010-11-15T09:47:48.820 に答える
3

String.Replaceを試すことができます

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

于 2010-11-15T09:47:49.280 に答える
2

スペースをプラスに置き換えるだけで、完全なURLエンコードを行わない場合は、組み込みのReplace方法を使用できます。

string withSpaces = "Hello I am";

string withPluses = withSpaces.Replace(' ', '+');
于 2010-11-15T09:47:42.593 に答える
0
string s = "Hello I am";
s = s.Replace(" ", "+");
于 2010-11-15T09:47:50.823 に答える
0

質問の「文字列をURLに変換する」部分に答えるには(正しいURLが必要な場合は、文字列を手動で変換しないでください)。

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

各パラメーターでUrlEncodeを呼び出して、値を正しくエンコードします。

于 2010-11-15T09:51:39.970 に答える