比如搜索Made in China他会把Made,in,China,made,MADE,IN,china,CHINA都会显红,他的替换是怎么做的。。

解决方案 »

  1.   

    怎么实现像GOOGLE,BAIDU的关键字反显功能
      

  2.   

    正则表达式,替换。比如,在显示的时候吧made 替换为<b>made</b>
      

  3.   

    比如我输入了关键字
    F f第一次替换得到<font color=red>F</font>
    第二次替换就变成<<font color=red>f</font>ont color=red>F</<font color=red>f</font>ont>
      

  4.   

    另外,我如果输入关键字 in China原始串如果是这样的Made in China
    第一次替换得到Made <font color=red>in</font> Ch<font color=red>in</font>a
    第二次替换就找不到关键字China
      

  5.   

    说说我的思路
    比如有批关键字需要高亮,
    1。先对这些关键字进行排序,长的字串先进行替换
    2。查找这些关键字在原始串中的位置pos(start,end);
    3。判断这个位置是不是有连续的,如果有连续的话,就把这些位置连起来
      如第一个位置是pos1(1,5);第二个位置pos2(3,6);那么直接得到位置pos3(1,6);
    4。从原始字串的尾部开始扫描。如碰到pos,就在这个位置打上高亮,如<font color=red></font>请问大家还有别的方法。或者是否有比俺想得更好的方法。
      

  6.   

    首先,你匹配字符串当然不是逐字匹配。
    当然是有分隔符的,
    比如查in,你不能把china中的in给匹配了把。
    因为有分隔符\\s+这个问题有多难?java版本的搜索引擎我也做过。
      

  7.   

    你说的那个排序,
    不是我想的太简单,是你对正则了解太少        String str = "xxxchinaxxx";
            String str2 = str.replaceAll("in|china","000");
            String str3 = str.replaceAll("china|in","000");上面的str2,str3,你认为会是多少呢?
    答案都是: xxx000xxx
    已经匹配了china,而不是其中的inso ez的东西....
      

  8.   

    呵呵楼上用上人家做好的东西当然简单了。。replaceAll