从RichtextBox中删除行?

时间:2013-08-10 07:11:36

标签: c# .net regex richtextbox

我有一个richTextBox并且有超过50行...我想删除行有MOVE STORAGE ..例如下面的第一行单词 (在richtextbox中实际上有两行)<带有结束半列的/ em> 具有MOVE STORAGE字,而不是删除所有2行。

ALTER TABLE "CAMPUS_SITE" MOVE STORAGE ( INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT);

DROP INDEX XIE2TBL_A;
DROP INDEX XPKTBL_A;

预期结果:

DROP INDEX XIE2TBL_A;
DROP INDEX XPKTBL_A;

1 个答案:

答案 0 :(得分:2)

根据您的问题,您似乎想删除包含“移动存储”的行。您应该尝试此操作;

var text = "";//Holds the text of current line being looped.
        var startindex = 0;//The position where selection starts.
        var endindex = 0;//The length of selection.

        for (int i = 0; i < richTextBox1.Lines.Length; i++)//Loops through each line of text in RichTextBox
        {
            text = richTextBox1.Lines[i];//Stores current line of text.
            if (text.Contains("MOVE STORAGE") == true)//Checks if the line contains MOVE STORAGE.
            {
                startindex = richTextBox1.GetFirstCharIndexFromLine(i);//If match is found the index of first char of that line is stored in startindex.
                endindex = text.Length;//Gets the length of line till semicolon and stores it in endindex.
                richTextBox1.Select(startindex, endindex);//Selects the text.
                richTextBox2.Text = richTextBox1.Text.Replace(richTextBox1.SelectedText, string.Empty);//Replaces the text with empty string.
            }
        }