`
y8820960
  • 浏览: 115876 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

replace和replaceAll的区别

    博客分类:
  • j2se
 
阅读更多
阅读文章前,请先做道题(也是因为这道题,让我写下该文章):
  1. public static void main(String[] args) {   
  2.          String classPath = "java.lang.String";   
  3.          System.out.println(classPath.replaceAll(".", "/"));   
输出结果是? 
如果你认为是java/lang/String ,那你就错了。正确的输出结果 是:////////////////
原因:请先看看replace和replaceAll的区别。
 

 
replace和replaceAll的区别:
1、replace的参数是CharSequence和CharSequence,其中第 一个是匹配的字符或字符串,第二个是替换的字符或字符串。即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,相当 于字符串)
2、replaceAll的参数是String和String,第一个参数regex,是替换规则(用正则表达式)。原因在于 String类中replaceAll的实现用到Pattern进行正则表达式匹配(关于正则表达式可以baidu或google一下,以后有空再写篇文 章总结下)。
 
replaceAll的源代码如下:
public String replaceAll(String regex, String replacement) {
     return Pattern.compile(regex).matcher(this).replaceAll(replacement);
}
 
在正则表达式中.(小圆点)表示匹配除换行符号外的任意字符 ,所以上面的例子才会出 现16个/
如果想匹配小圆点,可以用转义字符\ 则代码应该如下:
System.out.println(classPath.replaceAll("\\.", "/"));  //其中\\匹配\,之后的\. 匹配.(小圆点)
当然,你也可以用replace()进行处理,如下:
System.out.println(classPath.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` 类型的参数,一个是需要查找的字符,另一个是用于替换的字符。这...

    js replace 与replaceall实例用法详解

    总结来说,JavaScript中的replace方法是一个非常强大且灵活的字符串操作工具,它不仅可以完成简单的文本替换工作,还能通过正则表达式和回调函数实现复杂的文本处理功能。虽然没有直接的replaceAll方法,但通过正则...

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

    在实际应用中,开发者们通常需要结合具体场景灵活运用replace方法,并且仔细考虑是否需要全局标志“g”和多行标志“m”,以确保代码的正确性和效率。尤其在处理大量文本数据或复杂的文本模式时,合理利用正则表达式...

    PB_ReplaceAll

    2. **正则表达式**:某些情况下,`ReplaceAll`可能支持正则表达式,这样可以进行更复杂的匹配和替换操作。 3. **空值处理**:如果`old_string`或`find_string`为空,`ReplaceAll`可能不会执行任何操作,或者会抛出...

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

    标题所指向的知识点是关于JavaScript语言中如何实现字符串替换操作的replaceAll方法。...在实际开发中,正确使用replace和replaceAll方法,以及理解它们的差异,对于维护代码的可读性和性能优化有着不可忽视的作用。

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

    因此,如果需要实现replaceAll效果,即替换字符串中所有匹配的子串,可以使用正则表达式配合replace()方法来实现。 正则表达式中的全局匹配标志(g)用于指示匹配操作应该在输入字符串中进行全局搜索,即查找到所有...

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

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

    java replace

    在Java编程语言中,`replace`方法...根据实际需求,我们可以选择使用`replace`、`replaceAll`或更底层的字符序列类进行字符串操作。在编程实践中,理解这些方法的特性和适用场景,将有助于编写出更加高效和灵活的代码。

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

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

    用C#写的字符串处理函数,字符串处理出BUG的朋友可以使用它。较上一个版本修正了一处bug,并增加了ReplaceAll方法。

    Console.WriteLine(ms.ReplaceLast("hello world","l","*")); //输出”hello wor*d" Console.WriteLine(ms.ReplaceAll("hello world","l","*")); //输出”he**o wor*d" ArrayList list=ms.GetPosList("hello world",...

    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

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

    总结一下,`replace()`方法和`replaceAll()`函数在JavaScript中用于字符串替换,其中`replace()`仅替换第一个匹配项或根据正则表达式全局替换,而`replaceAll()`则始终进行全局替换,简化了全局替换的操作。...

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

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

    JavaScript实现的字符串replaceAll函数代码分享

    开发者们在实现自己的replaceAll方法时,需要考虑到兼容性问题和正则表达式的使用。 从给出的部分内容中,我们可以看到具体的replaceAll函数实现代码。代码首先检查传入的第一个参数是否为正则表达式类型,如果不是...

Global site tag (gtag.js) - Google Analytics