美文网首页
Java中String的replace、replaceAll和r

Java中String的replace、replaceAll和r

作者: taoguan | 来源:发表于2019-10-20 17:06 被阅读0次

    前言

    replace、replaceAll和replaceFirst是JAVA中常用的替换字符的方法,它们的方法定义是:

    • replace(CharSequence target, CharSequence replacement) ,用replacement替换所有的target,两个参数都是字符串。
    • replaceAll(String regex, String replacement) ,用replacement替换所有的regex匹配项,regex很明显是个正则表达式,replacement是字符串。
    • replaceFirst(String regex, String replacement) ,基本和replaceAll相同,区别是只替换第一个匹配项。

    三者的相同点和不同点

    相同点

    • replacereplaceAll都是全部替换,即把源字符串中的某一字符字符串全部换成指定的字符或字符串。

    不同点

    • replace替换的只能是字符或字符串形式,
    • replaceAll和replaceFirst()是基于规则表达式(正则表达式)的替换,
    • replaceAll是替换所有的,而replaceFirst()仅替换第一次出现的。
    • 另外,如果replaceAll()和replaceFirst()所用的参数不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的操作;
    • 还有一点注意:执行了替换操作后,源字符串的内容是没有发生改变的

    如何替换"\"

    示例:


    image.png

    输出:


    image.png

    原因

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

    总结
      CODE: \\\\
      Java: \\
      Regex: \

    结语

    其实记住两点就行:

    • replace替换的只能是字符或字符串形式,
    • replaceAll和replaceFirst()是基于规则表达式(正则表达式)的替换,一个是替换所有,一个是替换第一个。

    相关文章

      网友评论

          本文标题:Java中String的replace、replaceAll和r

          本文链接:https://www.haomeiwen.com/subject/bblamctx.html