首页 Java Java将字符串中所有字符替换成指定字符的几种方法

Java将字符串中所有字符替换成指定字符的几种方法

1、Jdk8之前的版本替换方法

//直接生成目标字符串
int len = str.length();
StringBuilder sb = new StringBuilder(len);
for(int i = =; i < len; i++){
    sb.append('*');
}
return sb.toString();

2、Jdk8及之后的版本替换方法

int len = str.length();
return IntStream.range(0, n).mapToObj(i -> "*").collect(Collectors.joining());

3、使用 Guava替换方法

return Strings.repeat("*", str.length());
//或者
return CharMatcher.ANY.replaceFrom(str, '*');

4、使用Commons/Lang

return StringUtils.repeat("*", str.length());

5、Jdk11以及之后的版本替换方法

//直接生成目标字符串
str = "*".repeat(str.length());

注意:这将替换换行符\n用*。如果要保留\n,请参考下面的解决方案。

6、JDK10及更早版本

//这个可以保留换行符
str = str.replaceAll(".", "*");

要*在Java 10及更早版本中替换换行符,您可以使用:

str = str.replaceAll("(?s).", "*");

该(?s)不匹配任何东西,但激活DOTALL模式,这使得.也匹配\n。

相关文档:Java中正则表达式(regex)匹配多行(Pattern.MULTILINE和Pattern.DOTALL模式)

特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。