当前位置: 首页 > 编程笔记 >

js使用Replace结合正则替换重复出现的字符串功能示例

柳仲卿
2023-03-14
本文向大家介绍js使用Replace结合正则替换重复出现的字符串功能示例,包括了js使用Replace结合正则替换重复出现的字符串功能示例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了js使用Replace结合正则替换重复出现的字符串功能。分享给大家供大家参考,具体如下:

今天想把网站上关于用户搜索资料后的结果列表进行处理,如同百度搜索一样,加入我搜索框中输入“我要日日发网络”,点击搜索按钮所得的结果列表中将会出现“我要日日发网络”字符串为红色。

我今天想到用js来进行处理,就是利用js内的replace函数对结果列表内的字符串进行指定字符串的替换工作,开始我是这样写的

<script type="text/JavaScript" language="javascript">
<!--
  function ReplaceStr(str) {
   var content = document.getElementById("content").innerHTML;
   content = content.replace(str, "<font color='red'>" + str + "</font>");
   document.getElementById("content").innerHTML = content;
  }
  ReplaceStr("日日发");
// -->
</script>

最后运行页面发现只替换掉了第一个“日日发”字符串,其他“日日发”字符串没有被替换掉,开始百思不得其解,后来在朋友的帮助下了解到js内的replace和c#内的replace有很大的不同,js内的replace默认的只是对字符串进行一次扫描。那么利用js的replace函数如何才能够达到字符串全部替换的效果呢? 这里我们就必须引入正则式了的,修改后的js函数如下所示:

<script type="text/javascript" language="javascript">
<!--
  function ReplaceStr(str) {
   var content = document.getElementById("content").innerHTML;
   content = content.replace(new RegExp(str,"gi"), "<font color='red'>" + str + "</font>");
   document.getElementById("content").innerHTML = content;
  }
  ReplaceStr("日日发");
// -->
</script>

这两者一比较就很清楚问题出在哪里了的,利用正则式很轻松地解决了问题,在这里 new RegExp(str,"gi")  这句话是什么意思呢?

后来查阅了一些资料,g - 从头至尾扫描完一次整个字符串,i- 不区分替换字符串的大小写。那么整个语句的意思就好理解了的。

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript正则表达式技巧大全》、《JavaScript替换操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

 类似资料:
  • 本文向大家介绍JS使用正则表达式实现关键字替换加粗功能示例,包括了JS使用正则表达式实现关键字替换加粗功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS使用正则表达式实现关键字替换加粗功能的方法。分享给大家供大家参考,具体如下: 运行效果截图如下: PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用: JavaScript正则表达式在线测试工具: http://to

  • 本文向大家介绍JavaScript基于replace+正则实现ES6的字符串模版功能,包括了JavaScript基于replace+正则实现ES6的字符串模版功能的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript基于replace+正则实现ES6的字符串模版功能。分享给大家供大家参考,具体如下: 采用拼接字符串的形式,将 JSON 数据嵌入 HTML 中。开始时代码量较少

  • 问题内容: 尝试用变量替换字符串中所有#实例。它不起作用,但也不能重新调整任何错误。 哈希仍然存在。 不确定我缺少什么? 问题答案: 返回一个新字符串(它不会修改现有字符串),因此您需要: 尽管自动类型转换可能会为您处理字符串,但您可能还应该创建一个字符串。 仅供参考,在Javascript中,字符串是不可变的-现有字符串永远不会被修改。因此,这使得修改字符串的任何方法(如,,,,,,,等…)总是

  • 本文向大家介绍JS和C#实现的两个正则替换功能示例分析,包括了JS和C#实现的两个正则替换功能示例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS和C#实现的两个正则替换功能。分享给大家供大家参考,具体如下: 应用实例1: 待处理字符串:str="display=test name=mu display=temp" 要求:把display=后的值都改成localhost JS处理方

  • 假设我有一根绳子 我想把“AA”替换成“BB”,但只能是最后一次出现,就像这样: string.replace()和string.replaceFirst()都不能完成这项工作。有string.replaceLast()吗?如果没有,会有一个还是有替代方案也可以处理正则表达式?

  • 本文向大家介绍Python正则替换字符串函数re.sub用法示例,包括了Python正则替换字符串函数re.sub用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python正则替换字符串函数re.sub用法。分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串 然后把它替换成自己想要的字符串的方法 re.