Question

Je veux convertir une chaîne à une URL et, au lieu d'un espace, il a besoin d'un « + » entre les mots-clés.

Par exemple:

"Hello I am"

à:

"Hello+I+am"

Comment dois-je faire?

Était-ce utile?

La solution

String input = "Hello I am";
string output = input.Replace(" ", "+");

Autres conseils

Pour les URL, je vous suggère fortement d'utiliser Server.UrlEncode ( dans ASP.NET) ou Uri.EscapeUriString (partout d'autre) au lieu de String.Replace.

vous pouvez essayer String.Replace

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

Vous pouvez utiliser string.Replace :

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

Si vous voulez encode une chaîne url (donc non seulement des espaces sont pris en charge), l'utilisation Uri.EscapeUriString :

Uri.EscapeUriString("Hello I am");

De MSDN:

  

Par défaut, la méthode EscapeUriString convertit tous les caractères, sauf RFC 2396 caractères non réservés, à leur représentation hexadécimale. Si Identifiers internationale des ressources (iris) ou nom de domaine internationalisé analyse syntaxique (IDN) est activé, la méthode EscapeUriString convertit tous les caractères, à l'exception des caractères non réservés RFC 3986, à leur représentation hexadécimale. Tous les caractères Unicode sont convertis au format UTF-8 avant d'être échappé.

En supposant que vous voulez seulement remplacer les espaces par points positifs, et ne pas faire plein codage URL, vous pouvez utiliser le haut- Replace méthode:

string withSpaces = "Hello I am";

string withPluses = withSpaces.Replace(' ', '+');
string s = "Hello I am";
s = s.Replace(" ", "+");

Pour répondre à la partie « convertir une chaîne à une url » de votre question (vous ne devriez pas convertir manuellement la chaîne si vous voulez une URL correcte):

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

Vous appelez Url Encode sur chaque paramètre à coder correctement les valeurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top