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`是字符串操作中常见的方法,用于替换字符串中的特定子串。它们都是`String`类的方法,但各自有不同的行为和用途。 1. `replace(CharSequence target, CharSequence...
String.prototype.replaceAll = function(s1, s2) { return this.replace(new RegExp(s1, "gm"), s2); } ``` 这里,我们将正则表达式用String.prototype.constructor构造函数动态创建,并使用g标志来指定全局匹配...
"浅谈Java中replace与replaceAll区别" Java 中的字符串 replacement 是一个非常重要的知识点,今天我们就来探讨 Java 中的 replace 和 replaceAll 方法之间的区别。 首先, lets Talk about Java 中的 replace ...
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和replaceAll方法时,我们需要注意这种机制,不要以为replace和replaceAll方法会修改原来的字符串对象,而是需要将返回值赋值给一个新的字符串对象。 补充知识:Java String字符串...
文章接着介绍了如何自定义一个replaceAll函数,这个函数利用了String对象的原型,通过扩展String原型来添加replaceAll方法,使其成为String对象可以调用的新方法。这个自定义的replaceAll方法不仅考虑了正则表达式和...
new_string = old_string.ReplaceAll(find_string, replace_string) ``` - `old_string`:这是原始字符串,你要在这个字符串中进行查找和替换。 - `find_string`:这是你要查找并替换的子串。 - `replace_string`:...
与 `replace()` 不同,`replaceAll()` 方法使用正则表达式作为其第一个参数,这使得它具有更强大的功能。它可以执行基于规则的替换,例如替换所有数字为星号: ```java src.replaceAll("\\d", "*"); // 输出:ab**f...
第三种方法尤其有用,因为它可以直接调用,语法上与Java或其他一些语言的replaceAll方法一致,提高了代码的可读性和易用性。 此外,文中还提到了两个JavaScript正则表达式工具网站,提供了在线测试和在线生成正则...
Java 中的 String 类提供了三种方法来实现字符串的替换,分别是 replace、replaceAll 和 replaceFirst。 1. replace 方法 replace 方法将字符串中所有出现的 oldChar 字符串替换为 newChar 字符串。如: String ...
总结来说,通过`replace()`函数与正则表达式的配合,我们可以实现JavaScript中的全局替换功能,类似于其他语言中的`replaceAll`方法。理解正则表达式的标志如`g`和`m`对于编写高效且准确的文本处理代码至关重要。在...
在Java编程语言中,`replace`方法是字符串(String)类的一个重要成员,用于替换字符串中的特定字符或子串。这个方法在处理文本数据时非常常用,尤其在我们需要替换某个字符或者模式时。下面我们将详细探讨`replace`...
js里没有replaceAll的函数,需要我们自定义 代码如下: String.prototype.replaceAll = function(s1,s2){ return this.replace(new RegExp(s1,”gm”),s2); } 2、使用js的replace进行处理 代码如下: str=str....
与字符串参数一起使用时, String.prototype.replace仅影响首次出现。 有很多证据表明开发人员正在尝试使用JS进行此操作-请参阅具有成千上万票的。 当前,最常见的实现方法是使用全局正则表达式。 const ...
public String replaceAll(String regex, String replacement) ``` 参数说明: - `regex`:这是一个正则表达式,表示要查找和替换的模式。 - `replacement`:当找到匹配`regex`的模式时,将被用来替换的字符串。 #...
- `replaceAll(String regex, String replacement)`:使用正则表达式替换匹配的部分。 7. **分割字符串** - `split(String regex)`:根据正则表达式将字符串分割成数组。 8. **获取字符/字节数组** - `...
C++中string提供了replace方法来实现字符串的替换,但是对于将字符串中某个字符串全部替换这个功能,string并没有实现。本文主要介绍了C++中string替换所有指定字符串的实例代码,通过实例代码给大家介绍的非常详细...
- `replace(char oldChar, char newChar)`和`replace(CharSequence target, CharSequence replacement)`用于替换指定字符或子字符串。 8. **分割字符串**: - `split(String regex)`根据正则表达式将字符串分割...