La diferencia entre reemplazar y reemplazar todo en JAVA

1.Los parámetros de replace son char y CharSequence, que pueden admitir el reemplazo de caracteres y el reemplazo de cadenas (CharSequence es el significado de secuencia de cadenas, que es una cadena en
términos simples ); 2.El parámetro de replaceAll es regex o char, Es decir, el reemplazo basado en expresiones regulares, por ejemplo, puede usar replaceAll ("\\ d", "*") para reemplazar todos los caracteres numéricos en una cadena con asteriscos;

El mismo punto es que todos reemplazan, es decir, cierto carácter o cadena de caracteres en la cadena de origen se reemplaza con un carácter o cadena de caracteres especificada.

Si solo desea reemplazar la primera aparición, puede usar replaceFirst (), este método también se basa en el reemplazo de expresiones regulares, pero cuando es diferente de replaceAll (), solo se reemplaza la primera aparición de la cadena;

Además, si los datos de parámetros utilizados por replaceAll () y replaceFirst () no se basan en expresiones regulares, el efecto de reemplazar cadenas con replace () es el mismo, es decir, los dos también admiten operaciones de cadena;

Por ejemplo:

public class ReplaceChar {
    public static void main(String[] args) {
        String strTmp = new String("BBBBBBBYYYYYYY");
        strTmp = strTmp.replaceAll ("\\D", "Y"); 
        System.out.println(strTmp);
        strTmp = strTmp.replaceAll ("Y", "N"); 
        System.out.println(strTmp);
        strTmp = strTmp.replace("N", "C");
        System.out.println(strTmp);
        strTmp = strTmp.replaceFirst("\\D", "q");
        System.out.println(strTmp);
    }
}

Los resultados son los siguientes:

YYYYYYYYYYYYYYY
NNNNNNNNNNNNNNNN
0000
- CCCCCCCCCC qCCCCCCCCCCCCCCC

 

 

Supongo que te gusta

Origin blog.csdn.net/johnt25/article/details/86175268
Recomendado
Clasificación