`
凤凰涅磐
  • 浏览: 86591 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

String的replace()与replaceAll()

阅读更多
replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是:
1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);
2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号;
相同点是都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串,如果只想替换第一次出现的,可以使用
replaceFirst(),这个方法也是基于规则表达式的替换,但与replaceAll()不同的时,只替换第一次出现的字符串;
另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的操作;
还有一点注意:执行了替换操作后,源字符串的内容是没有发生改变的.

举例如下:
       
        String src = new String("ab43a2c43d");

        System.out.println(src.replace("3","f"));=>ab4f2c4fd.
        System.out.println(src.replace('3','f'));=>ab4f2c4fd.
        System.out.println(src.replaceAll("\\d","f"));=>abffafcffd.
        System.out.println(src.replaceAll("a","f"));=>fb43fc23d.
        System.out.println(src.replaceFirst("\\d,"f"));=>abf32c43d
        System.out.println(src.replaceFirst("4","h"));=>abh32c43d.


如何将字符串中的"\"替换成"\\":

        String msgIn;
        String msgOut;
        msgOut=msgIn.replaceAll("\\\\","\\\\\\\\");
原因:
         '\'在java中是一个转义字符,所以需要用两个代表一个。例如System.out.println( "\\" ) ;只打印出一个"\"。但是'\'也是正则表达式中的转义字符(replaceAll 的参数就是正则表达式),需要用两个代表一个。所以:\\\\被java转换成\\,\\又被正则表达式转换成\。
同样
        CODE: \\\\\\\\
        Java: \\\\
        Regex: \\


将字符串中的'/'替换成'\'的几种方式:

msgOut= msgIn.replaceAll("/", "\\\\");
         msgOut= msgIn.replace("/", "\\");
         msgOut= msgIn.replace('/', '\\');
分享到:
评论

相关推荐

    Java中replace、replaceAll和replaceFirst函数的用法小结

    Java中的`replace`、`replaceAll`和`replaceFirst`是字符串操作中常见的方法,用于替换字符串中的特定子串。它们都是`String`类的方法,但各自有不同的行为和用途。 1. `replace(CharSequence target, CharSequence...

    js replace 与replaceall实例用法详解

    String.prototype.replaceAll = function(s1, s2) { return this.replace(new RegExp(s1, "gm"), s2); } ``` 这里,我们将正则表达式用String.prototype.constructor构造函数动态创建,并使用g标志来指定全局匹配...

    浅谈Java中replace与replaceAll区别

    "浅谈Java中replace与replaceAll区别" Java 中的字符串 replacement 是一个非常重要的知识点,今天我们就来探讨 Java 中的 replace 和 replaceAll 方法之间的区别。 首先, lets Talk about Java 中的 replace ...

    String.prototype.replaceAll:适用于String.prototype.replaceAll ESnext提案的符合规范的polyfill

    string.prototype.replaceall 用于String.prototype.replaceAll的ES Proposal规范填充程序。 如果不可用或不String.prototype....// replaceAll and replace are the same, when given a global regex to replace as

    Java String.replace()方法"无效"的原因及解决方式

    在使用Java String类型的replace和replaceAll方法时,我们需要注意这种机制,不要以为replace和replaceAll方法会修改原来的字符串对象,而是需要将返回值赋值给一个新的字符串对象。 补充知识:Java String字符串...

    JS中实现replaceAll的方法(实例代码)

    文章接着介绍了如何自定义一个replaceAll函数,这个函数利用了String对象的原型,通过扩展String原型来添加replaceAll方法,使其成为String对象可以调用的新方法。这个自定义的replaceAll方法不仅考虑了正则表达式和...

    PB_ReplaceAll

    new_string = old_string.ReplaceAll(find_string, replace_string) ``` - `old_string`:这是原始字符串,你要在这个字符串中进行查找和替换。 - `find_string`:这是你要查找并替换的子串。 - `replace_string`:...

    浅谈java中replace()和replaceAll()的区别

    与 `replace()` 不同,`replaceAll()` 方法使用正则表达式作为其第一个参数,这使得它具有更强大的功能。它可以执行基于规则的替换,例如替换所有数字为星号: ```java src.replaceAll("\\d", "*"); // 输出:ab**f...

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

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

    Java的 String 类常用方法大全

    Java 中的 String 类提供了三种方法来实现字符串的替换,分别是 replace、replaceAll 和 replaceFirst。 1. replace 方法 replace 方法将字符串中所有出现的 oldChar 字符串替换为 newChar 字符串。如: String ...

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

    总结来说,通过`replace()`函数与正则表达式的配合,我们可以实现JavaScript中的全局替换功能,类似于其他语言中的`replaceAll`方法。理解正则表达式的标志如`g`和`m`对于编写高效且准确的文本处理代码至关重要。在...

    java replace

    在Java编程语言中,`replace`方法是字符串(String)类的一个重要成员,用于替换字符串中的特定字符或子串。这个方法在处理文本数据时非常常用,尤其在我们需要替换某个字符或者模式时。下面我们将详细探讨`replace`...

    Js 回车换行处理的办法及replace方法应用

    js里没有replaceAll的函数,需要我们自定义 代码如下: String.prototype.replaceAll = function(s1,s2){ return this.replace(new RegExp(s1,”gm”),s2); } 2、使用js的replace进行处理 代码如下: str=str....

    proposal-string-replaceall:ECMAScript建议

    与字符串参数一起使用时, String.prototype.replace仅影响首次出现。 有很多证据表明开发人员正在尝试使用JS进行此操作-请参阅具有成千上万票的。 当前,最常见的实现方法是使用全局正则表达式。 const ...

    Android relaceALL替换字符串中的反斜杠

    public String replaceAll(String regex, String replacement) ``` 参数说明: - `regex`:这是一个正则表达式,表示要查找和替换的模式。 - `replacement`:当找到匹配`regex`的模式时,将被用来替换的字符串。 #...

    java中的String类常用方法解析(一)

    - `replaceAll(String regex, String replacement)`:使用正则表达式替换匹配的部分。 7. **分割字符串** - `split(String regex)`:根据正则表达式将字符串分割成数组。 8. **获取字符/字节数组** - `...

    C++中string替换所有指定字符串的方法

    C++中string提供了replace方法来实现字符串的替换,但是对于将字符串中某个字符串全部替换这个功能,string并没有实现。本文主要介绍了C++中string替换所有指定字符串的实例代码,通过实例代码给大家介绍的非常详细...

    String练习

    - `replace(char oldChar, char newChar)`和`replace(CharSequence target, CharSequence replacement)`用于替换指定字符或子字符串。 8. **分割字符串**: - `split(String regex)`根据正则表达式将字符串分割...

Global site tag (gtag.js) - Google Analytics