2

我正在使用高亮方法来标记文本中的单词。所以,我的问题是当我尝试突出显示可能是“子词”的小词时。前任。:

highlight("a estimativa de tempo", ["tim", "oi"])

亮点回归:

"a es<mark>tim</mark>ativa de tempo"

但我需要 highlight 方法来匹配整个单词。前任。:

highlight("a operadora tim", ["tim", "oi"]), returning:
"a operadora <mark>tim</mark>"

highlight("Oi anuncia", ["tim", "oi"]), returning:
"a operadora <mark>tim</mark>"

highlight("Operadora Tim declara", ["tim", "oi"]), returning:
"Operadora <mark>Tim</mark> declara"
4

2 回答 2

1

我也打算推荐@infused 的方法,但我会做一个小改动:

highlight("this Is a test", [/\bis\b/i])
=> "this <mark>Is</mark> a test"

这样,它不区分大小写并适合您的所有示例案例。

于 2016-01-28T19:52:19.277 回答
0

highlight 助手接受匹配短语的正则表达式,因此您可以将每个短语包装在 \b 中,这是一个零长度的单词边界匹配器:

highlight("this is a test", [/\bis\b/])
=> "this <mark>is</mark> a test"

你会注意到只有独立的单词“is”被突出显示,而不是单词“this”中的“is”。

于 2016-01-28T19:45:28.433 回答