Преобразование пробела в «+» с использованием C # - PullRequest
3 голосов
/ 15 ноября 2010

Я хочу преобразовать строку в URL-адрес, и вместо пробела ему нужен знак "+" между ключевыми словами.

Например:

"Hello I am"

в:

"Hello+I+am"

Как мне это сделать?

Ответы [ 7 ]

11 голосов
/ 15 ноября 2010

Для URL настоятельно рекомендуется использовать Server.UrlEncode (в ASP.NET) или Uri.EscapeUriString (везде) вместо String.Replace.

4 голосов
/ 15 ноября 2010
String input = "Hello I am";
string output = input.Replace(" ", "+");
3 голосов
/ 15 ноября 2010

вы можете попробовать String.Replace

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

3 голосов
/ 15 ноября 2010

Вы можете использовать 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 перед экранированием.

2 голосов
/ 15 ноября 2010

Если вы хотите заменить пробелы только на плюсы, а не выполнять полное URL-кодирование, тогда вы можете использовать встроенный метод Replace:

string withSpaces = "Hello I am";

string withPluses = withSpaces.Replace(' ', '+');
0 голосов
/ 15 ноября 2010

Чтобы ответить на часть вашего вопроса «преобразовать строку в URL» (вам не нужно вручную преобразовывать строку, если вы хотите правильный URL):

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

Вы вызываете кодировку Url для каждогопараметр для правильного кодирования значений.

0 голосов
/ 15 ноября 2010
string s = "Hello I am";
s = s.Replace(" ", "+");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...