用户搜索多个关键词的时候,出现用户搜索关键字标红。
如果全部都是中文 可以用Replace来标红
比如
Replace("中国", "<font color='red'>中国</font>");
还有另一种可能 用户输入英文关键词
比如
English color
这样
Replace("English ", "<font color='red'>English </font>");
但是替换color的时候可能替换 font里边的color 如何解决
或者关键词为 font 或者任何<font color='red'>一个字母
谢谢
如果全部都是中文 可以用Replace来标红
比如
Replace("中国", "<font color='red'>中国</font>");
还有另一种可能 用户输入英文关键词
比如
English color
这样
Replace("English ", "<font color='red'>English </font>");
但是替换color的时候可能替换 font里边的color 如何解决
或者关键词为 font 或者任何<font color='red'>一个字母
谢谢
解决方案 »
- 哪里可以找到 Default Settings 中变量的新值?
- 两个基本问题求解
- 小弟对TreeView权限绑定不熟,求高手给我具体的代码解释,谢谢
- (30分)《图书管理系统》源代码 哪里有下呀`~我都找了好长时间都没找的~~~谢啦~~
- 在C#中用DataSet.ReadXml读取XML文件出错
- 请问怎么使用C#.net接收post上来的数据?thx
- 对话框的问题???请高手指教!!!
- 怎么把一个结果体拷贝到buffer中??
- saveFileDialog1 点击保存后,如何显示下载进度
- 在lable的borderstyle里添加一个四个角是圆弧的正方形边框。
- Cannot create instance of 'WindowProject' defined in assembly
- 在DataGrid的TextBox中添加一个DateTimePicker控件
static void Main(string[] args)
{
string str = "如果<font color='red'>全部</font>color都是中red文 可以用Replace来标font红 ";
Console.WriteLine(ReplaceKeyWord(str, "可以"));
Console.WriteLine(ReplaceKeyWord(str, "font"));
Console.WriteLine(ReplaceKeyWord(str, "red"));
Console.WriteLine(ReplaceKeyWord(str, "color"));
} static string ReplaceKeyWord(string str, string key)
{
string result = "";
if (key.ToLower() == "font")
result = Regex.Replace(str, @"(?is)(font)(?!>|\s+color='red')", "<font color='red'>$1</font>");
else if (key.ToLower() == "color")
result = Regex.Replace(str, @"(?is)(color)(?!='red'>)", "<font color='red'>$1</font>");
else if (key.ToLower() == "red")
result = Regex.Replace(str, @"(?is)(red)(?!'>)", "<font color='red'>$1</font>");
else
result = str.Replace(key, "<font color='red'>" + key + "</font>");
return result;
}
{
string str = "如果<font color='red'>全部</font>color都是中red文 可以用Replace来标font红 "; Console.WriteLine(ReplaceKeyWord(str, "可以"));
Console.WriteLine(ReplaceKeyWord(str, "font"));
Console.WriteLine(ReplaceKeyWord(str, "red"));
Console.WriteLine(ReplaceKeyWord(str, "color"));
} static string ReplaceKeyWord(string str, string key)
{
string temp = str.Replace("<font color='red'>", "ojlovecd").Replace("</font>", "cdloveoj");
string result = temp.Replace(key, "<font color='red'>" + key + "</font>").Replace("ojlovecd", "<font color='red'>").Replace("cdloveoj", "</font>"); return result;
}
#@表示<font color='red'>,&*表示</font>
entity.Info1=entity.Info1.Replace(arr[i].ToString(), "#@" + arr[i].ToString() + "&*");
最后在替换回来
entity.Info1 = entity.Info1.Replace("#@","<font color='red'>");
entity.Info1 = entity.Info1.Replace("&*", "</font>");
谢谢结贴