Преобразование пространства в «+» с использованием c#

StackOverflow https://stackoverflow.com/questions/4183122

Вопрос

Я хочу преобразовать строку в 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

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

Вы можете использовать string.Replace:

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

Если вы хотите URL кодировать строку (так что позаботятся не только пространства), используйте Uri.EscapeUriString:

Uri.EscapeUriString("Hello I am");

От MSDN:

По умолчанию EscapeUriString Метод преобразует все символы, кроме RFC 2396 безоговорочных символов, в их шестнадцатеричное представление. Если включено анализ международных ресурсов (IRIS) или интернационализированного доменного имени (IDN), метод Escapeuristring преобразует все символы, за исключением RFC 3986 незаслуженных символов, в их шестнадцатеричное представление. Все символы 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 -кодирование на каждом параметре, чтобы правильно кодировать значения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top