replace、replaceAll、replaceFirst

简介: replace、replaceAll、replaceFirst

一年好景君须记,最是橙黄橘绿时。——苏轼

聊聊这仨很常用的函数

我相信很多人也跟我一样也有个误区,错把replace当成replaceFirst,把replaceAll当成replace

实际上,replace函数会替换掉满足字符串中所有出现过第一个参数中的值的地方

例如:

String string = "ruben love strawberry";
      String replace = string.replace("r", "");
// uben love stawbey

如果我们只需要替换第一处,则需要使用replaceFirst

例如:

String string = "ruben love strawberry";
      String replaceFirst = string.replaceFirst("[A-Za-z0-9]", "");
// uben love strawberry

并且replaceFirst支持正则表达式,replace则不支持

replaceAll则是用于需要替换所有满足正则表达式匹配的场景

String string = "ruben love strawberry";
      String replaceAll = string.replaceAll("[A-Za-z0-9]", "");
//

这里因为全部匹配,所以被替换成空串了

因此注意这种情况:

String string = "D:\\Directory\\directory\\file.suffix";
      String replace = string.replace("\\D", "");
// D:irectory\directory\file.suffix
      String replaceFirst = string.replaceFirst("\\D", "");
// :\Directory\directory\file.suffix
      String replaceAll = string.replaceAll("\\D", "");
//

就是我们需要替换的字符中如果出现了刚好满足正则的情况下。。。

相关文章
|
6月前
|
Java
substring()方法详解
substring()方法详解
61 1
|
5月前
|
Java
replaceAll 的用法总结
replaceAll 的用法总结
|
4月前
|
Java
Java 替换字符串 replace replaceAll
【7月更文挑战第10天】Java 替换字符串 replace replaceAll
Java 替换字符串 replace  replaceAll
你所不知道的replace
差不多的replace,差不多的方法,你也差不多的用……
|
4月前
|
前端开发 JavaScript
str.repeat(2)将字符串重复两次,let str_trim = ‘1 1 1 1‘str_trim.trim() 将字符串的空白部分去掉,toLowerCase()小写,toUpperCas
str.repeat(2)将字符串重复两次,let str_trim = ‘1 1 1 1‘str_trim.trim() 将字符串的空白部分去掉,toLowerCase()小写,toUpperCas
|
6月前
|
索引
substr与substring的区别
substr与substring的区别
|
6月前
|
索引
substring()方法
substring()方法
|
6月前
|
C# 索引
C#详解-Contains、StartsWith、EndsWith、Indexof、lastdexof
C#详解-Contains、StartsWith、EndsWith、Indexof、lastdexof
113 0
|
SQL
C++11之正则表达式(regex_match、regex_search、regex_replace)
C++11之正则表达式(regex_match、regex_search、regex_replace)
204 0
trim()方法的使用
trim() 方法不会改变原始字符串。
137 0