`

java中replace和replaceAll的区别(转)

    博客分类:
  • java
阅读更多
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的区别

    replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是:  1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也是字符串);  2)...

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

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

    浅谈Java中replace与replaceAll区别

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

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

    在Java编程语言中,`replace()` 和 `replaceAll()` 都是用来进行字符串替换的函数,但它们之间存在一些关键差异。 `replace()` 方法接受两个 `char` 类型的参数,一个是需要查找的字符,另一个是用于替换的字符。这...

    java replace

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

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

    在Java中,String类型提供了多种字符串替换方法,包括replace和replaceAll方法。replace方法用于将字符串中的某些字符替换为其他字符,例如: public static void main(String[] args) { String str = "aaa"; ...

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

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

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

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

    Java replaceAll()方法报错Illegal group reference的解决办法

    在Java编程中,`replaceAll()`方法是用于字符串替换的一个强大工具,它接受两个参数:一个正则表达式作为第一个参数,以及一个替换字符串作为第二个参数。然而,如果使用不当,可能会遇到`Illegal group reference`...

    java 替换指定的字符

    在这个示例中,我们首先用`replace()`方法将感叹号替换为问号,然后用`replaceAll()`方法将"World"替换为"Users"。 至于`Java.jpg`,它可能是一个相关的图片资源,用于说明Java标识或者与字符替换相关的图形示例。...

    java去除空格、标点符号的方法实例.docx

    在Java中,去除空格可以使用trim()、replace()、replaceAll()等方法。 1. 使用trim()方法去除首尾空格 trim()方法可以去除字符串的首尾空格,但是不能去除中间的空格。例如: ```java String str = " hello world ...

    java去除字符串中的空格、回车、换行符、制表符.pdf

    在 Java 中,我们可以使用正则表达式和 String 类的 replace() 方法来实现这项任务。 1. 使用正则表达式 Java 的 Pattern 类和 Matcher 类提供了强大的字符串处理功能。我们可以使用正则表达式来匹配和替换字符串...

    Java面试宝典2023新版,包含了十大类别相关面试题

    在字符串处理中,replace和replaceAll的区别在于,replace处理字符或字符串的替换,而replaceAll使用正则表达式进行替换。最后,关于String、StringBuilder和StringBuffer,String是不可变的,性能较低,适合少量...

    java中英文字符串处理.

    在Java编程语言中,字符串处理是一项至关重要的任务,无论是在简单的数据操作,还是在复杂的文本分析和处理场景中。本文将深入探讨Java中处理中英文字符串的基本操作,包括子串的提取、比较、拼接、替换以及一些常用...

    Java字符串替换函数replace()用法解析

    在Java编程语言中,`String`类提供了多种方法来处理字符串,其中之一便是`replace()`方法。这个方法主要用于在字符串中替换指定的字符或子串,返回一个新的字符串,原字符串不会被改变,因为Java中的字符串是不可变...

    Java中转义字符反斜杠\的代替方法及repalceAll内涵解析

    在Java中,replaceAll方法是一个常用的字符串替换方法,它可以将指定的字符串或正则表达式替换为另一个字符串。例如,使用replaceAll方法可以将反斜杠(\)替换为空字符串,以便将转义字符还原为普通字符。 使用...

    完整版 Java初级教程 Java语言程序设计 第7章 Java中的常用类(共14页).ppt

    【Java初级教程】Java语言程序设计的第7章主要探讨了Java中的一些常用类,包括`java.lang.String`、`java.lang.StringBuilder`和`java.util.StringTokenizer`。以下是对这些类的详细解释: 1. **`java.lang.String`...

    Java面试要点(适用于2年以上经验,1年亦可)

    5. JDK 6 和 JDK 7 中 substring 的原理及区别、replaceFirst、replaceAll、replace 区别 6. String.valueOf 和 Integer.toString 的区别、字符串的不可变性 7. 自动拆装箱 8. Integer 的缓存机制 9. 熟悉 Java 中...

    java中字符串的操作汇总

    ### Java中字符串的操作汇总 在Java编程语言中,字符串(`String`)是极其重要的一个概念,被广泛应用于各种场景之中。为了更好地理解和运用Java语言,掌握字符串的各种操作方法至关重要。下面将详细介绍Java中字符...

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

    `replaceAll`函数就是Java(也是Android)中处理字符串替换的一个重要方法。这个方法来自`String`类,允许我们用新的字符串替换掉原字符串中匹配某个模式的所有实例。在这个案例中,我们要关注的是如何替换字符串中...

Global site tag (gtag.js) - Google Analytics