Javascript 无法正确修剪两个字符串中的粗体匹配词
我的应用程序中有一个Javascript 无法正确修剪两个字符串中的粗体匹配词,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我的应用程序中有一个搜索栏,它提供从该搜索栏输入开始的建议 例如:在搜索栏中键入skrillex,将得到以下建议: skrillex skrillex kyoto skrillex cinema skrillex bangarang skrillex live skrillex. cinema skrillex.bangarang skrillex. live skrillex. songs skrillex.com 我正在尝试加粗建议中与搜索栏输入匹配的单词 对于上述同一示例,结果将
搜索栏
,它提供从该搜索栏
输入开始的建议
例如:在搜索栏中键入skrillex
,将得到以下建议:
skrillex
skrillex kyoto
skrillex cinema
skrillex bangarang
skrillex live
skrillex. cinema
skrillex.bangarang
skrillex. live
skrillex. songs
skrillex.com
我正在尝试加粗建议中与搜索栏输入匹配的单词
对于上述同一示例,结果将是:
<b>skrillex</b>
<b>skrillex</b> kyoto
<b>skrillex</b> cinema
<b>skrillex</b> bangarang
<b>skrillex</b> live
从上面运行代码以粗体显示匹配的单词后,输出如下:
<b>skrillex.</b> cinema
<b>skrillex.</b>angarang
<b>skrillex.</b> live
<b>skrillex.</b> songs
<b>skrillex.</b>om
skrillex。电影院
斯克里莱克斯·安加朗
斯克里莱克斯。居住
斯克里莱克斯。歌曲
skrillex.om
基本上,.slice
从bangarang
(skrillex.bangarang
)和c
从com
(skrillex.com
)
有人能发现错误在哪里吗?我也愿意接受任何其他方法来实现这一点,因为我相信我的方法没有那么有效。代码中的问题是这样一个表达式:
/\s\s+/g',
。您正在用空白替换空白
如果您在Chrome控制台上尝试此操作:'skrillex'。替换(/\s\s+/g',)。长度
,您将看到长度为10,对于skrillex.com和skrillex.bangarang,第10位的字符分别为o和a。使用可以尝试
<b>skrillex.</b> cinema
<b>skrillex.</b>angarang
<b>skrillex.</b> live
<b>skrillex.</b> songs
<b>skrillex.</b>om