`

JS里实现java的replaceAll

 
阅读更多

 


JS  字符串有replace() 方法。但这个方法只会对匹配到的第一个字串替换。 如下例:

 

[javascript] view plaincopy
 
  1. <HTML>  
  2. <HEAD>  
  3. <TITLE> New Document </TITLE>  
  4. </HEAD>  
  5.   
  6. <BODY>  
  7. <script>  
  8.    var str = "wordwordwordword";  
  9.    var strNew = str.replace("word","Excel");  
  10.    alert(strNew);  
  11. </script>  
  12. </BODY>  
  13. </HTML>  

 

 

 

如果要全部替换的话,JS 没有提供replaceAll这样的方法。使用正则表可以达成Replace 的效果:

 

[javascript] view plaincopy
 
  1. str.replace(/word/g,"Excel")  

g 的意义是:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

 

 

 

 

[javascript] view plaincopy
 
  1. <HEAD>  
  2. <TITLE> New Document </TITLE>  
  3. <script>  
  4. function replaceAll(str)  
  5. {  
  6.     if(str!=null)  
  7.     str = str.replace(/word/g,"Excel")  
  8.     return str;  
  9. }  
  10. </script>  
  11. </HEAD>  
  12.   
  13. <BODY>  
  14. <script>  
  15.    var str = "wordwordwordword";  
  16.    var strNew = str.replace("word","Excel");  
  17.    strNew = replaceAll(str);  
  18.    alert(strNew);  
  19. </script>  
  20. </BODY>  
  21. </HTML>  

 

 

 

以上写法有个类同的写法:

 

[javascript] view plaincopy
 
  1. str.replace(new RegExp("word","gm"),"Excel")  

 

 

 

 

g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。
[javascript] view plaincopy
 
  1.   

除此之外,也可以添加 Stirng对象的原型方法:

 

[javascript] view plaincopy
 
  1. String.prototype.replaceAll  = function(s1,s2){     
  2.     return this.replace(new RegExp(s1,"gm"),s2);     
  3. }   

这样就可以像使用replace 方法一样使用replaceAll了

 

 

 

 

 

 

[javascript] view plaincopy
 
  1. str.replaceAll("word","Excel");  


总结一下, 三种方式

 

 

 

1.  str.replace(/oldString/g,newString)

2.  str.replace(new RegExp(oldString,"gm"),newString)

3. 增加String 对象原型方法 replaceAll

分享到:
评论

相关推荐

    js使用正则实现ReplaceAll全部替换的方法

    第三种方法尤其有用,因为它可以直接调用,语法上与Java或其他一些语言的replaceAll方法一致,提高了代码的可读性和易用性。 此外,文中还提到了两个JavaScript正则表达式工具网站,提供了在线测试和在线生成正则...

    java 中类似js encodeURIComponent 函数的实现案例

    总结来说,Java中实现`encodeURIComponent`和`decodeURIComponent`的方法需要额外的转换步骤,以确保与JavaScript的对应函数行为一致。这些自定义的实现可以帮助你在Java代码中处理URI编码和解码,尤其是在需要与...

    JavaScript中使用replace结合正则实现replaceAll的效果

    在Java 11中引入了`replaceAll`方法,但在JavaScript中,我们可以通过以下方式实现相同的效果: ```javascript string.replace(new RegExp(oldString, "g"), newString) ``` 这里的参数解析如下: 1. `oldString`...

    适合于js和java的正则表达式

    7. **高级用法**:正则表达式还能实现更复杂的操作,如回调函数的使用(JavaScript的`replace()`方法可以接受一个函数作为第二个参数),以及在Java中使用`Matcher`的`group()`方法获取分组信息。 在提供的文件中,...

    replaceAll()如何同时替换多个不同的字符串(或多个符号)

    Java中的replaceAll()方法怎么才能同时替换多个不同的字符串呢? 正好我遇到过这个情况,就跟她分享了一下心得,解决问题后的她开心的像刚充完气儿一样。 这让我颇感欣慰,在这里我也分享给大家。 需求场景 场景1: ...

    java以及JavaScript的香港身份证验证方法。.pdf

    - 在 Java 版本中,首先使用 `replaceAll` 函数移除身份证号码中的括号(如果存在)。 - 在 JavaScript 版本中,也有类似的预处理,但这里没有提及处理括号的情况,可能是因为 JavaScript 版本默认假设输入已经...

    正则表达大总结(Java正则表达30分钟入门教程 JavaScript正则表达)

    在Java和JavaScript中,都有多种匹配方法,如`matches()`尝试全局匹配整个字符串,`find()`查找首个匹配项,`replaceAll()`和`replaceFirst()`进行替换操作。在处理多行文本时,还可以通过设置`Pattern.MULTILINE`...

    JAVA 从一个字符串中删除指定字符

    本篇将详细解释如何实现这一功能,并拓展到相关的Java基础知识。 首先,我们要了解Java中的字符串是不可变的,这意味着一旦创建了一个字符串对象,就不能更改其内容。因此,当我们需要删除字符串中的特定字符时,...

    JAVA项目实践,URL存在跨站漏洞,注入漏洞解决方案.docx

    这些恶意代码通常是HTML或客户端脚本语言(如JavaScript),但也可以是Java、VBScript、ActiveX、Flash或普通HTML。 XSS攻击通常发生在网页开发过程中遗留的漏洞被恶意利用的情况下。攻击者通过巧妙的方法注入恶意...

    Java,JavaScript,Oracle,MySql,VBscript的换行符

    本文将详细介绍Java、JavaScript、Oracle、MySQL以及VBScript中使用的换行符。 ### Java中的换行符 在Java中,换行符通常使用`\r\n`(回车加换行)或`\n`(仅换行)来表示。其中: - `\r`:回车,ASCII码为13。 - ...

    java 字符串指定长度

    jQuery是一个JavaScript库,主要用于简化DOM操作、事件处理和Ajax交互,与Java字符串处理的知识点不是同一范畴。不过,在前端开发中,如果需要将Java后端返回的数据展示在网页上,可能会涉及到字符串的格式化和长度...

    java字符串处理输入一个字符串和一个字符后,原字符串中所有该字符将被删除并显示出结果

    请注意,由于Java Applet已在现代浏览器中逐渐被淘汰,因此实际项目中可能需要考虑使用JavaFX或Swing桌面应用,或者使用基于Web的前端技术如JavaScript和HTML5。但上述代码仍然展示了如何在Applet环境中处理字符串...

    Java基础知识面试题目

    - **字符串替换**:使用`replace`或`replaceAll`方法可以实现字符串的替换功能。 **3. 数据类型转换** - **字符转数字**:使用`Character.getNumericValue(char)`可以将字符类型的数字转换为数值;使用`Integer....

    java对象转换成xml格式

    以下将详细讲解如何在Java中实现对象到XML的转换。 1. **JAXB(Java Architecture for XML Binding)** JAXB是Java SE的一部分,它提供了将Java对象直接转换为XML文档,以及从XML文档反序列化回Java对象的能力。...

    IPv6 Java方法 简写转成全写,全写转成简写

    #### 三、Java方法实现:简写转全写及全写转简写 ##### 1. 将非简写的IPv6转换成简写的IPv6 ```java public static String parseFullIPv6ToAbbreviation(String fullIPv6) { // 初始化返回结果 String ...

    JAVA过滤标签实现将html内容转换为文本的方法示例

    可以使用正则表达式来实现该操作,例如去掉head标签、注释、样式、js代码、word标签、xml标签等。 2. 使用replaceEach函数实现批量替换:在将html内容转换为文本时,需要将html标签替换为指定的文本。可以使用...

    java代码执行字符串中的逻辑运算方法

    Java代码执行字符串中的逻辑运算方法 Java是一种广泛应用的编程语言,字符串逻辑运算是Java编程中一个非常重要的方面。...这些知识点都是Java编程中非常重要的方面,掌握这些知识点可以帮助我们更好地实现Java编程。

    java百度编辑器提交过滤标签方法

    通过编写特定的正则表达式来匹配HTML、CSS和JavaScript标签,并使用`Matcher`类的`replaceAll()`方法将其替换为空字符串或其他指定字符串,从而实现对这些标签的过滤。 #### 示例代码解析 以下代码展示了如何使用...

    Java正则表达式例子_非JavaScript

    本篇将深入探讨Java正则表达式的使用,不涉及JavaScript的相关内容。 1. **创建正则表达式对象**: 在Java中,使用`Pattern`类的`compile`方法编译正则表达式字符串,生成一个`Pattern`对象。例如: ```java ...

    javascript中使用replaceAll()函数实现字符替换的方法

    而str.replace(/\-/g,”!”)则可以全部替换掉匹配的字符(g为全局标志)。 replace() The replace() method returns the string that results when you replace text matching its first argument (a regular ...

Global site tag (gtag.js) - Google Analytics