2

コンマ区切りの文字列があります。改行で区切られた形式に変換するにはどうすればよいですか。私の文字列は次のようになります。

red,yellow,green,orange,pink,black,white

そして、このようにフォーマットする必要があります:

red
yellow
green
orange
pink
black
white

これが私のコードです:

public static string getcolours()
{
    List<string> colours = new List<string>();
    DBClass db = new DBClass();
    DataTable allcolours = new DataTable();
    allcolours = db.GetTableSP("kt_getcolors");
    for (int i = 0; i < allcolours.Rows.Count; i++)
    {
        string s = allcolours.Rows[i].ItemArray[0].ToString();
        string missingpath = "images/color/" + s + ".jpg";
        if (!FileExists(missingpath))
        {
            colours.Add(s);

        }
    }
    string res = string.Join(", ", colours);

    using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"F:\test.txt", true))
    {

        file.WriteLine(res);
    }
    return res;
}
4

4 に答える 4

8
res = res.Replace(',','\n');

これはうまくいくはずです。

于 2013-04-25T06:47:13.740 に答える
4

あなたが試すことができます:

string colours = "red,yellow,green,orange,pink,black,white";
string res = string.Join(Environment.NewLine, colours.Split(','));

または、より単純なバージョンは次のようになります。

string res2 = colours.Replace(",", Environment.NewLine);
于 2013-04-25T06:45:32.743 に答える
1

文字列を結合しないでください。色だけを書き込んでから、結合をオンにして次に戻ります\n

public static string getcolours()
{
    List<string> colours = new List<string>();
    DBClass db = new DBClass();
    DataTable allcolours = new DataTable();
    allcolours = db.GetTableSP("kt_getcolors");
    for (int i = 0; i < allcolours.Rows.Count; i++)
    {
        string s = allcolours.Rows[i].ItemArray[0].ToString();
        string missingpath = "images/color/" + s + ".jpg";
        if (!FileExists(missingpath))
        {
            colours.Add(s);
        }
    }
    using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"F:\test.txt", true))
    {
        foreach(string color in colours)
        {
            file.WriteLine(color);
        }
    }
    return string.Join("\n", colours);;
} 
于 2013-04-25T06:46:36.793 に答える
0
var s = "red,yellow,green,orange,pink,black,white";
var r = string.Join(Environment.NewLine, s.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); 
于 2013-04-25T06:48:27.927 に答える