4 Stimmen

Umwandlung von Leerzeichen in "+" mit C#

Ich möchte eine Zeichenkette in eine URL umwandeln, und anstelle eines Leerzeichens muss ein "+" zwischen den Schlüsselwörtern stehen.

Zum Beispiel:

"Hello I am"

zu:

"Hello+I+am"

Wie soll ich das machen?

11voto

Alon Gubkin Punkte 54520

Für URLs empfehle ich dringend die Verwendung von Server.UrlEncode (in ASP.NET) oder Uri.EscapeUriString (überall sonst) anstelle von String.Replace.

5voto

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

4voto

Oded Punkte 475566

Sie können verwenden string.Replace :

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

Wenn Sie eine Zeichenkette url-kodieren wollen (damit nicht nur Leerzeichen berücksichtigt werden), verwenden Sie Uri.EscapeUriString :

Uri.EscapeUriString("Hello I am");

Von MSDN:

Standardmäßig wird die EscapeUriString konvertiert alle Zeichen mit Ausnahme der nicht reservierten RFC 2396-Zeichen in ihre hexadezimale Darstellung. Wenn die Analyse von International Resource Identifiers (IRIs) oder Internationalized Domain Name (IDN) aktiviert ist, konvertiert die EscapeUriString-Methode alle Zeichen, mit Ausnahme der nicht reservierten RFC 3986-Zeichen, in ihre hexadezimale Darstellung. Alle Unicode-Zeichen werden in das UTF-8-Format konvertiert, bevor sie escaped werden.

3voto

anishMarokey Punkte 11011

Können Sie versuchen String.Ersetzen

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

2voto

LukeH Punkte 251752

Angenommen, Sie wollen nur Leerzeichen durch Pluszeichen ersetzen und keine vollständige URL-Kodierung vornehmen, dann können Sie die eingebaute Replace método:

string withSpaces = "Hello I am";

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X