最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
C# 检索不区分大小写并高亮显示实例详解
时间:2017-02-28 编辑:简简单单 来源:一聚教程网
C# 检索不区分大小写并高亮显示实例详解
今日,碰到一个问题:如何在网页中高亮显示不区分大小写的关键字
例如:文本abcaBcabCaBCabcaBCa,关键字bc,在不区分大小写的情况,一共有6个匹配项。
则在网页中显示的是abcaBcabCaBCabcaBCa。
很多人,想到是replace函数。但是在c# 中replace函数无法解决字母大小写问题。
例如示例上看,bc,Bc,bC,BC都被搜索到了,却不能统一替换为一个文本
以上文字转自大牛“万仓一黍“的文章--”高亮显示不区分大小写的关键字——ASP“。
但是他的文章写得是ASP版本,今天我写得是C#版本;下面说说解决办法。
解决办法:运用 IndexOf
IndexOf(String, Int32, StringComparison)
指定的字符串在当前 String 对象中的第一个匹配项的索引。
参数
value
类型: System. String
要搜寻的字符串。
startIndex
类型: System. Int32
搜索起始位置。
comparisonType
类型: System. StringComparison
指定搜索规则的枚举值之一。
(OrdinalIgnoreCase:使用序号排序规则并忽略被比较字符串的大小写,对字符串进行比较。)
代码
代码如下 | 复制代码 |
/// /// 高亮查找关键字。 /// /// 文本。 /// 关键字 /// /// /// 1、字母不区分大小写。 /// 2、CssClass 名称为 highlight。 /// privatestringHighLightKeyword(stringstr,stringkeyword) { intindex; var startIndex = 0; conststringhighLightBegin =""; conststringhighLightEnd =""; var length = highLightBegin.Length + keyword.Length; var lengthHighlight = length + highLightEnd.Length;
while((index = str.IndexOf(keyword, startIndex, StringComparison.OrdinalIgnoreCase)) > -1) { str = str.Insert(index, highLightBegin).Insert(index + length, highLightEnd); startIndex = index + lengthHighlight; }
returnstr; } |
-
下一个: C# 从枚举值获取对应的文本描述详解
相关文章
- C#复制数组的两种方式及效率比较解读 10-24
- ASP.NET Identity用法解析 10-24
- ASP.NET MVC使用Identity增删改查用户介绍 10-24
- C语言中atoi函数模拟实现介绍 10-18
- .Net反向代理组件Yarp用法介绍 10-10
- .NET使用YARP通过编码方式配置域名转发实现反向代理教程 10-10