Frage

Ich möchte eine Zeichenfolge in eine URL konvertieren, und statt eines Raumes, es muss ein „+“ zwischen den Schlüsselwörtern.

Zum Beispiel:

"Hello I am"

zu:

"Hello+I+am"

Wie soll ich das tun?

War es hilfreich?

Lösung

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

Andere Tipps

Für URLs, empfehle ich Server.UrlEncode zu verwenden ( in ASP.NET) oder Uri.EscapeUriString (überall statt String.Replace anderes).

können Sie versuchen, String.Replace

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

Sie können mit string.Replace :

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

Wenn Sie url kodieren wollen einen String (also nicht nur Räume gesorgt), die Verwendung Uri.EscapeUriString :

Uri.EscapeUriString("Hello I am");

Von MSDN:

Standardmäßig konvertiert die EscapeUriString Methode alle Zeichen, außer RFC 2396 nicht reservierte Zeichen, um ihre hexadezimale Darstellung. Wenn International Resource Identifiers (IRI) oder Internationalized Domain Name (IDN) Analyse aktiviert ist, wandelt die EscapeUriString Methode alle Zeichen, mit Ausnahme von RFC 3986 nicht reservierten Zeichen, um ihre hexadezimalen Darstellung. Alle Unicode-Zeichen werden in UTF-8-Format konvertiert, bevor sie entkommen sind.

Unter der Annahme, dass Sie nur Räume mit Plusse ersetzen wollen, und nicht vollständige URL-Codierung, dann können Sie mit dem eingebauten in Replace Methode:

string withSpaces = "Hello I am";

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

Zur Beantwortung der Teil Ihrer Frage ‚einen String in eine URL konvertieren‘ (Sie sollten nicht manuell die Zeichenfolge konvertieren, wenn Sie eine korrekte URL wollen):

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

Sie rufen URL Encode auf jeden Parameter korrekt die Werte kodieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top