阅读文章前,请先做道题(也是因为这道题,让我写下该文章):
- public static void main(String[] args) {
- String classPath = "java.lang.String";
- 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(".", "/"));
分享到:
相关推荐
replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也是字符串); 2)...
Java中的`replace`、`replaceAll`和`replaceFirst`是字符串操作中常见的方法,用于替换字符串中的特定子串。它们都是`String`类的方法,但各自有不同的行为和用途。 1. `replace(CharSequence target, CharSequence...
"浅谈Java中replace与replaceAll区别" Java 中的字符串 replacement 是一个非常重要的知识点,今天我们就来探讨 Java 中的 replace 和 replaceAll 方法之间的区别。 首先, lets Talk about Java 中的 replace ...
在Java编程语言中,`replace()` 和 `replaceAll()` 都是用来进行字符串替换的函数,但它们之间存在一些关键差异。 `replace()` 方法接受两个 `char` 类型的参数,一个是需要查找的字符,另一个是用于替换的字符。这...
总结来说,JavaScript中的replace方法是一个非常强大且灵活的字符串操作工具,它不仅可以完成简单的文本替换工作,还能通过正则表达式和回调函数实现复杂的文本处理功能。虽然没有直接的replaceAll方法,但通过正则...
在实际应用中,开发者们通常需要结合具体场景灵活运用replace方法,并且仔细考虑是否需要全局标志“g”和多行标志“m”,以确保代码的正确性和效率。尤其在处理大量文本数据或复杂的文本模式时,合理利用正则表达式...
2. **正则表达式**:某些情况下,`ReplaceAll`可能支持正则表达式,这样可以进行更复杂的匹配和替换操作。 3. **空值处理**:如果`old_string`或`find_string`为空,`ReplaceAll`可能不会执行任何操作,或者会抛出...
标题所指向的知识点是关于JavaScript语言中如何实现字符串替换操作的replaceAll方法。...在实际开发中,正确使用replace和replaceAll方法,以及理解它们的差异,对于维护代码的可读性和性能优化有着不可忽视的作用。
因此,如果需要实现replaceAll效果,即替换字符串中所有匹配的子串,可以使用正则表达式配合replace()方法来实现。 正则表达式中的全局匹配标志(g)用于指示匹配操作应该在输入字符串中进行全局搜索,即查找到所有...
在使用Java String类型的replace和replaceAll方法时,我们需要注意这种机制,不要以为replace和replaceAll方法会修改原来的字符串对象,而是需要将返回值赋值给一个新的字符串对象。 补充知识:Java String字符串...
在Java编程语言中,`replace`方法...根据实际需求,我们可以选择使用`replace`、`replaceAll`或更底层的字符序列类进行字符串操作。在编程实践中,理解这些方法的特性和适用场景,将有助于编写出更加高效和灵活的代码。
js里没有replaceAll的函数,需要我们自定义 代码如下: String.prototype.replaceAll = function(s1,s2){ return this.replace(new RegExp(s1,”gm”),s2); } 2、使用js的replace进行处理 代码如下: str=str....
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的ES Proposal规范填充程序。 如果不可用或不String.prototype....// replaceAll and replace are the same, when given a global regex to replace as
总结一下,`replace()`方法和`replaceAll()`函数在JavaScript中用于字符串替换,其中`replace()`仅替换第一个匹配项或根据正则表达式全局替换,而`replaceAll()`则始终进行全局替换,简化了全局替换的操作。...
在Java编程中,`replaceAll()`方法是用于字符串替换的一个强大工具,它接受两个参数:一个正则表达式作为第一个参数,以及一个替换字符串作为第二个参数。然而,如果使用不当,可能会遇到`Illegal group reference`...
开发者们在实现自己的replaceAll方法时,需要考虑到兼容性问题和正则表达式的使用。 从给出的部分内容中,我们可以看到具体的replaceAll函数实现代码。代码首先检查传入的第一个参数是否为正则表达式类型,如果不是...