La diferencia entre dividir cadenas de división con espacios \t \n \r \f y \s en Java

1. Introducción a varios separadores en blanco

\t: carácter de tabulación, equivalente a tabulación

\n: nueva línea

\r: retorno de carro

\f: avance de formulario

\s: común en las expresiones regulares de Java, como coincidencia de Java, reemplazo, cadena dividida (coincidencias, división)

ejemplo:

"Java es divertido".matches("Java.*") //返回true

2. Use correctamente dividir para separar caracteres en blanco

public class demo {
    public static void main(String[] args)  {
        String line = new Scanner(System.in).nextLine();
        String[] s1 = line.split(" ");
        String[] s2 = line.split("\\t");
        String[] s3 = line.split("\\s");
        String[] s4 = line.split("\\s+");
        System.out.print("一个空格:");
        for(String s : s1) {
            System.out.print(s + ",");
        }
        System.out.println("\n------------------------------->=_=");
        System.out.print("\\t:");
        for(String s : s2) {
            System.out.print(s + ",");
        }
        System.out.println("\n------------------------------->=_=");
        System.out.print("\\s:");
        for(String s : s3) {
            System.out.print(s + ",");
        }
        System.out.println("\n------------------------------->=_=");
        System.out.print("\\s+:");
        for(String s : s4) {
            System.out.print(s + ",");
        }
    }
}


Ingrese: hola, mi hermoso mundo (un espacio, dos espacios y una pestaña)

3. Instrucciones de uso de \\s


1. \\s en lugar de \s:
la barra invertida es un carácter especial que inicia una secuencia de escape en una cadena. El signo "\" está dotado de un significado especial en la expresión regular. En este momento, debe agregar \ antes del carácter que causa ambigüedad para decirle al compilador: este carácter es solo un carácter ordinario. Entonces, cuando queremos hacer coincidir "\s" en expresiones regulares, debemos agregar escape a "\\s".

2. La relación entre \s y \t\n\r\f y ' ': el
carácter en blanco es ' ', '\t', '\n', '\r' o '\f'. Por lo tanto, [\t\n\r\f] se usa para representar espacios en blanco, y \s es equivalente a [\t\n\r\f].

3. \\s+:
en las expresiones regulares de Java, p* representa 0 o varias apariciones del patrón p, p+ representa 1 o varias apariciones del patrón p y p? Entonces, generalmente usamos \s+ cuando hacemos preguntas. Al igual que el código anterior, \s tendrá problemas cuando trabaje con múltiples espacios consecutivos, y necesita usar \s+.
 

Supongo que te gusta

Origin blog.csdn.net/LiZhen314/article/details/130887159
Recomendado
Clasificación