示例#1
0
        private void button2_Click(object sender, EventArgs e)
        {
            if (s_target.Text.Trim() == string.Empty)//判断输入是否为空
            {
                MessageBox.Show("请输入字符串");
                return;
            }
            KMP.target = s_target.Text;     //传入目标字符串
            KMP.text_t = richTextBox1.Text; //传入目标文本
            KMP.sign   = false;             //删除标志置为false,rukou函数将调用函数delete_s
            KMP.rukou();                    //进入寻找字符串个数类函数入口
            if (KMP.number_s == 0)
            {
                MessageBox.Show("该字符串不存在");
            }
            richTextBox1.Text = KMP.text_t;

            /*for (int i = 0; i < KMP.number_s; i++)
             * {
             *  richTextBox1.AppendText(" ");
             *  richTextBox1.AppendText(KMP.record_d[i].ToString());
             *
             * }
             * richTextBox1.AppendText(KMP.len.ToString());*/
        }
示例#2
0
        private void button1_Click(object sender, EventArgs e) //统计目标字符串个数
        {
            int num = 0;                                       //记录字符串个数

            if (s_target.Text.Trim() == string.Empty)          //判断输入是否为空
            {
                MessageBox.Show("请输入字符串");
                return;
            }

            KMP.target = s_target.Text;     //传入目标字符串
            KMP.text_t = richTextBox1.Text; //传入目标文本
            //richTextBox1.Text = KMP.target;//
            //KMP.len = KMP.target.Length;
            // KMP.len_t = KMP.text_t.Length;
            KMP.sign = true; //寻找标志置为true,rukou函数将调用函数
            KMP.rukou();     //进入寻找字符串个数类函数入口
            //s_num.Text = KMP.len.ToString();

            /*for (int i = 0; i < KMP.target.Length; i++)
             * {
             *  richTextBox1.AppendText(KMP.arr_next[i].ToString());
             * }*/
            num        = KMP.number_s;
            s_num.Text = num.ToString();//显示字符个数
        }