代码之家  ›  专栏  ›  技术社区  ›  Omarrrio

写入新文本文件时StreamWriter替换

  •  1
  • Omarrrio  · 技术社区  · 12 年前

    有没有可能的方法用字符串替换字符,比如替换 '\x0A' 具有 "\r\n" 例如这是我的代码,老实说,我找不到把它放进去的方法,更不用说 Replace 函数不允许 String.Replace(Char, String) String.Replace(String, Char)

    StreamWriter wwrite = new StreamWriter(sfd.FileName, false, Encoding.GetEncoding("EUC-JP"));
    for (int i = 0; i < listView1.Items.Count; ++i)
    {
        wwrite.WriteLine((i + 1).ToString() + "ï¼¾" + listView1.Items[i].SubItems[3].Text);
    }
    wwrite.Close();
    
    1 回复  |  直到 12 年前
        1
  •  1
  •   Steven Doggart    12 年前

    只需将字符转换为字符串,然后调用 Replace(string, string) 超载。例如:

    wwrite.WriteLine((i + 1).ToString() + "ï¼¾" + listView1.Items[i].SubItems[3].Text.Replace("\x0A", "\r\n"));
    

    你似乎对字符串感到困惑。字符串只是字符的集合。所以 "\n" '\n' 基本上是相同的值。第一个将值存储为单个字符串,第二个将相同的值存储为字符。如果要用实际字符串替换换行符 \n (作为两个单独的字符),您需要转义反斜杠,例如:

    s = s.Replace("\n", "\\n");
    

    或者:

    s = s.Replace("\n", @"\n");