关键字:abc
内容:aabbcceeadc
想要的结果:内容中有与关键字中的任何一个字符相同的字符则内容中的该字符变成红色。
aabbcceeadc

解决方案 »

  1.   

    算法很垃圾。。能想到的就是O(m*n)的拆分开来都循环一下,是关键字就替换成红字
      

  2.   

    b/s,使用样式C/s用richTextBox,有一个属性可以做到
      

  3.   

    比如说a替换为<font color="red">a</font>替换过a了那c咋办。。再替换就把color中的c也换掉了!~。。
      

  4.   


                string content = "aabbcceeadc";
                string key = "abc";
                string result = Regex.Replace(content, "([" + key + "])", "<font color='red'>$1</font>");
      

  5.   

    js 做吗 ?
    循环Replace().
      

  6.   

    或者只拆分关键字进行循环,content.Replace(kword,"<font style='color:red'>"+kword+"</a>")
      

  7.   

    4楼正确,请教一个正则替换,cbdc<font color="red">cba</font>aa如何将这个字符串中标签外的c替换为
    <font color="red">c</font>
      

  8.   

    请教一个正则替换,cbdc<font color="red">cba</font>aa如何将这个字符串中标签外的c替换为
    <font color="red">c</font>
      

  9.   

    全部替换string content = "aabbcceeadc";
    string key = "abc";
    string result = Regex.Replace(content, "(?i)[" + Regex.Escape(key) + "]+", "<font color='red'>$0</font>");
    Response.Write(result);判断是否在标签内再替换
    string content = "cbdc<font color=\"red\">cba</font>aa";
    string key = "abc";
    string result = Regex.Replace(content, "(?in)(?<!(<|<[^/][^>]*>)[^<>]*)[" + Regex.Escape(key) + "]+(?![^<>]*(>|</))", "<font color='red'>$0</font>");
    Response.Write(result);测试不多,有不满足的给出实例