Java中String.replace()和String.replaceAll()实现逻辑是不一样的。
- replace是基于字符的替换,只替换第一个
- replaceAll是基于正则表达式的替换,会替换所有满足条件的字符串
package test;
public class Test {
public static void main(String[] args) {
String s="nwebpweroweu.webp".replaceAll(".webp$", ".jpg");
System.out.println(s);//nwebpweroweu.jpg
}
}
$表示以什么结尾,.表示以什么开头。
注意:如果上面的代码是String s="nwebpweroweu.webp".replaceAll(".webp", ".jpg"); 那么输出的结果就是.jpgweroweu.jpg 这个差异很明显,写代码要严谨。