查找字符串中a之后的第一个单词.在javascript中



我正在做一项学校作业,我们必须突出显示"后面的第一个单词"在文本中按下按钮。

到目前为止,我已经创建了一个HTML页面,HTML页面包含一个按钮,点击后应该高亮显示"后面的第一个单词"我发现我可能不得不使用split and或slice。

function highligtWord(){
var tekst = document.getElementById("tekst").innerHTML;  
for (var i = 0 ;  i < tekst.length; i++) {
var arr = tekst.split(". ")[i].split(" ")[0] 
console.log(arr)
var res = tekst.replace(`${arr}`, "<span style=background-color:yellow>" + `${arr}` + "</span>" );
document.getElementById("tekst").innerHTML += res;     
}       

到目前为止,这并不像预期的那样起作用;突出显示";不在"后面的单词"所以我的问题是,我做错了什么?我怎样才能给你";highligt";所有单词都在"之后"相反

提前感谢

使用正则表达式-匹配.(文字点(,然后匹配S+-一个或多个非空格字符可能会更容易。然后替换为高亮范围所包围的非空格字符:

const elm = document.getElementById("tekst");
elm.innerHTML = elm.innerHTML.replace(
/(. *)(S+)/,
'$1<span style=background-color:yellow>$2</span>'
);
<div id="tekst">foo bar. baz should be highlighted.</div>

如果要突出显示.后面的所有单词,请为正则表达式使用全局标志(使用/g(。

最新更新