苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 4360|回复: 1

[其他] C# 怎样标记RichTextBox里的关键数据

[复制链接]
发表于 2013-7-28 13:24:57 | 显示全部楼层 |阅读模式
16进制数,以此数据包为例:10 01 0a 00 10 01 51 06 78 00 09 10 02
最前端10 01为包头,最后端10 02为包尾。其中后面的00 09代表包头包尾之前有9个字节。要求用颜色只标记包头包尾

要进行操作的数据(不定长的数据包):
10 01 0a 00 10 01 51 06 78 00 09 10 02
10 01 64 3d d3 01 51 06 78 89 d1 c9 00 0c 10 02
10 01 48 00 00 50 89 36 cf 00 09 94 00 00 50 00 0f 10 02
10 01 2e 7e 01 5f 79 00 00 02 01 2e 2a 10 02 50 89 2c 01 01 00 14 10 02
注意包头包尾之间有的数据和包头包尾相同,这个才是难点啊。我用标记关键字的方法标记包头包尾,但是连数据包中间和包头包尾相同的数据也标记上了...

这个方法连中间的数据也标记了:
[backcolor=white !important][size=1em][backcolor=rgb(245, 245, 245) !important]C# code
[color=white !important][size=1em]?

[backcolor=white !important][size=1em]1

[backcolor=white !important][size=1em]2

[backcolor=white !important][size=1em]3

[backcolor=white !important][size=1em]4

[backcolor=white !important][size=1em]5

[backcolor=white !important][size=1em]6

[backcolor=white !important][size=1em]7

[backcolor=white !important][size=1em]8

[backcolor=white !important][size=1em]9

[backcolor=white !important][size=1em]10

[backcolor=white !important][size=1em]11

[backcolor=white !important][size=1em]12

[backcolor=white !important][size=1em]13

[size=1em][backcolor=white !important][size=1em]private void HighLightText(string[] wordList, Color color)
[backcolor=white !important][size=1em]        {
[backcolor=white !important][size=1em]            foreach (string word in wordList)
[backcolor=white !important][size=1em]            {
[backcolor=white !important][size=1em]                Regex r = new Regex(word, RegexOptions.IgnoreCase);

[backcolor=white !important][size=1em]                foreach (Match m in r.Matches(this.richTextBox1.Text))
[backcolor=white !important][size=1em]                {
[backcolor=white !important][size=1em]                    this.richTextBox1.Select(m.Index, m.Length);
[backcolor=white !important][size=1em]                    this.richTextBox1.SelectionColor = color;
[backcolor=white !important][size=1em]                }
[backcolor=white !important][size=1em]            }
[backcolor=white !important][size=1em]        }




不知道用循环的方法怎么样,或许其他的方法也行。求实现用颜色只标记包头包尾的代码~谢谢


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-7-30 08:21:13 | 显示全部楼层
直接替换不行吗?
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-27 04:49

© 2014-2021

快速回复 返回顶部 返回列表