JavaScript的查找字符串名称 [英] JavaScript find names in strings

查看:108
本文介绍了JavaScript的查找字符串名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

什么是一个很好的JavaScript库,用于搜索特定字符串名称的大名单。

例如,鉴于1000政治家名称的列表中找到一个字符串,每一个实例,并把它包在范围

重点是确定的,例如,布莱尔,布莱尔III的区别有名字的越来越多的性能和准确性。

例如,这样的:

  [布莱尔,撒切尔夫人,托尼Blairite,布莱尔III,等...]
布莱尔后,下午最好是撒切尔夫人。
 

变成了:

 的最佳点以后<跨度类=MP>托尼·布莱尔和LT; / SPAN>是<跨度类=MP>撒切尔夫人< / SPAN> 。
 

解决方案

  VAR名称= ['富','酒吧'];
VAR内容=此foo是吧foobar的富;
为(变种C = 0,L = names.length; C< L,C ++){
  变种R =新的RegExp(\\ B(+名字[C] +)\\ B,GI);
  内容= content.replace(R,'<跨度类=MP> $ 1 LT; / SPAN>');
}
 

What's a good JavaScript library for searching a given string for a large list of names.

For example, given a list of 1000 politicians names find every instance in a string and wrap it in a span.

Priorities are performance with a growing list of names, and accuracy in determining difference between eg, "Tony Blair", "Tony Blair III".

For example, this:

["Tony Blair", "Margaret Thatcher", "Tony Blairite", "Tony Blair III", etc...]
"The best PM after Tony Blair was Margaret Thatcher."

Becomes:

"The best PM after <span class="mp">Tony Blair</span> was <span class="mp">Margaret Thatcher</span>."

解决方案

var names = ['foo','bar'];
var content = "this foo is bar foobar  foo ";
for (var c=0,l=names.length;c<l;c++) {
  var r = new RegExp("\\b("+names[c]+")\\b","gi");
  content = content.replace(r,'<span class="mp">$1</span>');
}

这篇关于JavaScript的查找字符串名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆