C#Streamreader添加新行

时间:2017-04-03 12:00:15

标签: c# line add streamreader

我已经搜索了这个,但我遇到的每个解决方案都涉及regex女巫不适合我。

我的问题很简单,我希望streamreader每次读取单词" ice"时都会添加新行。请记住,streamreader正在将输入读取为1行。

我的代码如下:

using (StreamReader sr = new StreamReader(stream))
{
    VarrileKeeper.s = sr.ReadToEnd();
    //Console.WriteLine(VarrileKeeper.s);
    if (VarrileKeeper.s.ToString().Contains("ice"))
    {
        //insert newline in string
    }
    sr.Close();
}

4 个答案:

答案 0 :(得分:2)

您的问题似乎非常简单(或者您没有解释问题背后的复杂性)。

我宁愿使用System.IO.File和String.Replace来解决您的问题:

string filename = "D:\\test.txt";
string output = System.IO.File.ReadAllText(filename).Replace("ice", "ice\n");
System.IO.File.WriteAllText(filename, output);

希望有所帮助!

答案 1 :(得分:1)

使用string.Split和string.Join的东西可以达到你的目标

string temp = File.ReadAllText("yourfilename");
var parts = temp.Split(new string[] {"ice"}, StringSplitOptions.None);
VarrileKeeper.s = string.Join("ice"+ Environment.NewLine, parts);

但请记住,这对于字符序列 ice 是不分青红皂白的,这意味着更复杂的单词也会被截断(例如威尼斯)。

答案 2 :(得分:0)

尝试以下方法:

 using (StreamReader sr = new StreamReader(stream))
 {
     {
         VarrileKeeper.s = sr.ReadToEnd();
         //Console.WriteLine(VarrileKeeper.s);
          if (VarrileKeeper.s.ToString().Contains("ice"))
          {
              VarrileKeeper.s = VarrileKeeper.s.Replace("ice", "ice" + System.Environment.NewLine);
          }

          sr.Close();
      }
}

答案 3 :(得分:0)

试试这个:

<input type = "text" name = "user_firstname" placeholder="Firstname"autocomplete="off" required/>
<input type = "text" name = "user_lastname" placeholder="Lastname"autocomplete="off" required/>