首页 > 解决方案 > C#多行文本框:如果一行包含X,则在行后添加一个字符串

问题描述

我要做的是循环多行文本框的内容(逐行循环),如果它包含某个关键字(例如,如果该行包含单词:)click(),那么在下一行我会添加单词sleep(5)

循环文本框没问题:

foreach (string line in txtBoxAdd.Lines)
{
   if (line.Contains("click()"))
   {
      Helpers.ReturnMessage(line);
   }
}

我遇到的问题是如何在sleep(5)找到关键字后在下一行添加单词click()

任何帮助,将不胜感激。

标签: c#textboxmultiline

解决方案


你可以这样做:

List<string> lines = new List<string>(textBox1.Lines);

for(int i = 0; i < lines.Count; i++) 
{
   if (lines[i].Contains("click()")) 
   {
      lines.Insert(i + 1, "sleep(5)");
      i++;
   }                
}

textBox1.Lines = lines.ToArray();

请注意,它不会检查下一行是否已经存在“sleep(5)”,并且在整个处理完成之前,更改不会应用于文本框。


推荐阅读