78 Stimmen

In C#: Anführungszeichen um eine Zeichenfolge in einer kommagetrennten Liste von Zeichenfolgen hinzufügen

Darauf gibt es wahrscheinlich eine einfache Antwort, aber ich habe wohl nicht genug Kaffee getrunken, um es selbst herauszufinden:

Wenn ich eine durch Komma getrennte Zeichenfolge wie:

string list = "Fred,Sam,Mike,Sarah";

Wie würde jedes Element erhalten und fügen Sie Anführungszeichen um es und stecken Sie es wieder in eine Zeichenfolge wie diese:

string newList = "'Fred','Sam','Mike','Sarah'";

Ich gehe davon aus, dass die Iteration über jeden einzelnen ein Anfang wäre, aber danach bin ich nicht mehr weitergekommen.

Eine Lösung, die hässlich ist:

int number = 0;
string newList = "";
foreach (string item in list.Split(new char[] {','}))
{
    if (number > 0)
    {
        newList = newList + "," + "'" + item + "'";
    }
    else
    {
        newList = "'" + item + "'";
    }
    number++;
}

4voto

Jacob Carpenter Punkte 4096

Ich denke, das Einfachste wäre, wenn Split und dann Join .

string nameList = "Fred,Sam,Mike,Sarah";
string[] names = nameList.Split(',');
string quotedNames = "'" + string.Join("','", names) + "'";

3voto

PhiLho Punkte 39496

Ich kann keinen C#-Code schreiben, aber dieser einfache JavaScript-Code lässt sich wahrscheinlich leicht anpassen:

var s = "Fred,Sam,Mike,Sarah";
alert(s.replace(/\b/g, "'"));

Es ersetzt einfach die Begrenzungen (Anfang/Ende der Zeichenkette, Übergang von Wortzeichen ohne Interpunktion) durch einfache Anführungszeichen.

1voto

RickL Punkte 2791
string list = "Fred,Sam,Mike,Sarah";

string[] splitList = list.Split(',');

for (int i = 0; i < splitList.Length; i++)
    splitList[i] = String.Format("'{0}'", splitList[i]);

string newList = String.Join(",", splitList);

1voto

Atish Narlawar Punkte 590

Wenn Sie JSON verwenden, ist folgende Funktion hilfreich

var string[] keys = list.Split(',');
console.log(JSON.stringify(keys));

1voto

MikeTeeVee Punkte 17130

Meine Anforderungen:

  1. Trennen Sie die Einträge durch Kommata.
  2. Alle Elemente der Liste werden in Anführungszeichen gesetzt.
  3. Vorhandene doppelte Anführungszeichen in der Zeichenkette werden entfernt.
  4. Behandeln Sie Null-Strings, um Fehler zu vermeiden.
  5. Machen Sie sich nicht die Mühe, Null-Strings in Anführungszeichen zu setzen.
  6. Beenden Sie mit Carriage-Return und Line-Feed.

    string.Join(",", lCol.Select(s => s == null ? null : ("\"" + s.Replace("\"", "\"\"") + "\""))) + " \r\n ";

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