查找字符串中的第一个单词。在javascript中
我正在做一项学校作业,在作业中,我们必须用按钮突出显示文本中“.”后的第一个单词 据我所知,我已经创建了一个HTML页面,HTML页面包含一个按钮,点击它应该会高亮显示“.”后的第一个单词。我发现我可能必须使用split和/或slice查找字符串中的第一个单词。在javascript中,javascript,split,slice,Javascript,Split,Slice,我正在做一项学校作业,在作业中,我们必须用按钮突出显示文本中“.”后的第一个单词 据我所知,我已经创建了一个HTML页面,HTML页面包含一个按钮,点击它应该会高亮显示“.”后的第一个单词。我发现我可能必须使用split和/或slice function highligtWord(){ var tekst = document.getElementById("tekst").innerHTML; for (var i = 0 ; i < tekst.lengt
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;
}
函数highligtWord(){
var tekst=document.getElementById(“tekst”).innerHTML;
对于(变量i=0;i
到目前为止,这并没有达到预期效果,因为它“突出”了不在“.”后面的单词。所以我的问题是,我做错了什么?
我怎样才能让你把所有的单词改为“highligt”
提前感谢可能更容易使用正则表达式-匹配
\。
(一个文字点),然后匹配\S+
-一个或多个非空格字符。然后替换为由突出显示范围包围的非空格字符:
const elm=document.getElementById(“tekst”);
elm.innerHTML=elm.innerHTML.replace(
/(\.*)(\S+/,
'$1$2'
);
foo-bar.baz应该突出显示。
感谢您的快速响应!:)我可能对JavaScript和regex不太熟悉,但我应该将/g放在哪里?再次感谢!所有正则表达式标志都放在同一个位置-在模式结束后。例如/foo/g
是foo
的全局模式,请考虑把它格式化为这样的片段。其他人可以清楚地看到你的问题。这只是一个建议,但是它可以提高你的问题的质量。你的代码还不完整。