Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 删除RichTextBox中的文本_C#_String_Gps_Richtextbox_Frame - Fatal编程技术网

C# 删除RichTextBox中的文本

C# 删除RichTextBox中的文本,c#,string,gps,richtextbox,frame,C#,String,Gps,Richtextbox,Frame,我有一个RichTextBox的小问题,我里面有一个文本(请往下看),我想删除 使用按钮的文本行(即开始字符“#”和结束新行“\n”) #BESTPOSA,COM1_30,0,72.5,01*9e9047d2 #BESTPOSA,COM1,01*6f8c2c77 $GPGGA,M,060126*66 $GPRMC,152908.00,D*3A #AVEPOSA,精细转向,0*eba27375 $GPGSA,M,1.3*38* 这是my data.txt中的一个示例(其中有很多GPSdata框架)

我有一个RichTextBox的小问题,我里面有一个文本(请往下看),我想删除 使用按钮的文本行(即开始字符“#”和结束新行“\n”)

#BESTPOSA,COM1_30,0,72.5,01*9e9047d2

#BESTPOSA,COM1,01*6f8c2c77

$GPGGA,M,060126*66

$GPRMC,152908.00,D*3A

#AVEPOSA,精细转向,0*eba27375

$GPGSA,M,1.3*38*


这是my data.txt中的一个示例(其中有很多GPSdata框架)。当然,在操作之后,我只想要“$GPxxx”帧。请帮助他人。

RichTextBox有一个Lines属性,它将为您提供一个包含所有行的字符串数组。您可以在上面循环,然后使用RichTextBox上的帮助器方法确定行长度

var lines = richTextBox1.Lines;
for (int i = lines.Count()-1;i>=0; i--)
{
    if (lines[i].StartsWith("#"))
    {
        var thisLineStart = richTextBox1.GetFirstCharIndexFromLine(i);
        var maxLines = richTextBox1.Lines.Count();
        if (i >= maxLines)
        {
            richTextBox1.Text = richTextBox1.Text.Remove(thisLineStart);
        }
        else
        {
            var nextLineStart = richTextBox1.GetFirstCharIndexFromLine(i + 1);
            richTextBox1.Text = richTextBox1.Text.Remove(thisLineStart, nextLineStart - thisLineStart);
        }
    }
}

如果您只是提取,请执行以下操作:

var lines = richTextBox1.Lines.Where(l => !l.StartsWith("#"));
会有用的。如果要更新
RichTextBox
,请执行以下操作:

var lines = richTextBox1.Lines.Where(l => !l.StartsWith("#"));
richTextBox1.Text = String.Join("\r\n", lines);