2010-11-15 6 views

Répondre

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

pour l'aide, mais j'ai seulement besoin de convertir les espaces en plus si la chaîne contient plus d'un mot . Comment puis-je construire dans cette condition? – klopske

+0

ça marche maintenant! J'ai oublié ".Text" derrière txtSearch: S – klopske

2

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

string withSpaces = "Hello I am"; 

string withPluses = withSpaces.Replace(' ', '+'); 
3

Vous pouvez utiliser string.Replace:

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

Si vous voulez une chaîne url encode (donc pas uniquement des espaces sont pris en charge), utilisez Uri.EscapeUriString:

Uri.EscapeUriString("Hello I am"); 

De MSDN:

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

+0

Notez que l'utilisation de 'EscapeUriString' produira *" Hello% 20I% 20am "*, pas *" Hello + I + am "*. Cela ne devrait pas vraiment être un problème dans tout système sain. – LukeH

0
string s = "Hello I am"; 
s = s.Replace(" ", "+"); 
+1

Il est préférable d'utiliser 'String.Replace (char, char)' plutôt que 'String.Replace (string, string)' – abatishchev

0

Pour répondre à la « convertir une chaîne à une URL » partie 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 pour encoder correctement les valeurs.

+0

Utilisez 'String.Format' pour plus de lisibilité – abatishchev