js高手请进,怎么替换指定位置的某字符串,不是替换所有该字符串
javascript吧
全部回复
仅看楼主
level 1
花生米1979 楼主
比如,字符串:
"abc,甲乙丙丁,一二三四五,abc,"
我只想替换第二个abc为xyz,不替换第一个abc,
请高手解答。
本新手正在研究:把网页里任意文本选中后(鼠标选取一段文字),然后变色,变大小等,碰到了该问题
2018年08月05日 15点08分 1
level 3
正则表达式应该是可以返回匹配到的index的,可以试一下。
2018年08月06日 02点08分 3
level 8
我尝试从你的思路上走了一下,写了下这个。虽然现在bug还没修,不过并没有遇到类似的你提出的类似逻辑问题。。。
2018年08月06日 05点08分 4
@夜淡忘回忆 绑定是绑定在mouseup里面的,捕捉的话用的selection
2018年08月06日 05点08分
@泪光涩 假如这串字符后面还有多个abc,那么怎么把第3个abc换成xyz,而不是换第一个abc,也不是换所有abc,我的问题就在这
2018年08月06日 05点08分
@泪光涩 你就是高手,文本里可能有多个abc,我只想把选中的abc变色或者字体变大,请高手赐教代码和思路。我在知道也提问了,请回答后,把分奖给你 https://zhidao.baidu.com/question/878583309432922612
2018年08月06日 06点08分
@花生米1979 至于替换的方法我觉的楼上楼下写的都还可以的(嘛,虽然有下标用不上)不过还是不建议用正则表达式的,因为你这种多可能的是在正则表达式里是先全匹配,然后在根据位置修改(其实是我不是很会正则表达式),不是很方便
2018年08月06日 06点08分
level 8
可能是我刚才字符串太少了,而且没重复
selection,有和获取下标的属性。所以并没有出现过这种逻辑问题
2018年08月06日 05点08分 6
高手用的JQ,我想用纯js,已经把分给高手了,但我的思路跟高手分享一下,用的替换方式改网页文字样式, 行标签id.innerHTML=行标签id的原始文本.replace(被选取的文本的变量, "<span style='color:red'>"+被选取的文本的变量+"</span>")
2018年08月07日 05点08分
但要精确获取被选中的该文本,而不是所有该文本,在这个地方出现了卡壳,所以问问
2018年08月07日 05点08分
@花生米1979 js也能写,,只是有些语句jq方便我就用jq了,你可以自行替换,你看我绑定事件都不是用jq写的
2018年08月07日 05点08分
@花生米1979 你这个被选取文本变量就是用getSelection去取下标,然后用正则去替换那部分内容
2018年08月07日 05点08分
level 1
花生米1979 楼主
回复 泪光涩 :高手用的JQ,我想用纯js,已经把分给高手了,但我的思路跟高手分享一下,用的替换方式改网页文字样式,
行标签id.innerHTML=行标签id的原始文本.replace(被选取的文本的变量, "<span style='color:red'>"+被选取的文本的变量+"</span>")
2018年08月07日 05点08分 7
https:[滑稽]//blog.csdn.net/qq_38604499/article/details/81453706 改了,用jq和js之间是可以互通的。。。
2018年08月07日 06点08分
level 8
楼主还没解决呢……我不是原生js也贴了么……[狂汗][狂汗][狂汗]
2018年08月08日 03点08分 10
1