Konvertieren von Raum zu „+“ C #
-
10-10-2019 - |
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?
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.