A diferença entre dividir strings com espaços \t \n \r \f e \s em Java

1. Introdução a vários separadores em branco

\t: caractere de tabulação, equivalente a tabulação

\n: nova linha

\r: retorno de carro

\f: alimentação de formulário

\s: Comum em expressões regulares java, como correspondência java, substituição, string dividida (correspondências, divisão)

exemplo:

"Java é divertido".matches("Java.*") //Verdadeirotrue

2. Use corretamente a divisão para separar os caracteres em branco

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 + ",");
        }
    }
}


Digite: olá, meu lindo mundo! (um espaço, dois espaços e uma guia)

3. Instruções de uso de \\s


1. \\s em vez de \s:
a barra invertida é um caractere especial que inicia uma sequência de escape em uma string. O sinal "\" é dotado de um significado especial na expressão regular. Neste momento, você precisa adicionar \ antes do caractere que causa ambiguidade para informar ao compilador: este caractere é apenas um caractere comum. Portanto, quando queremos corresponder "\s" em expressões regulares, precisamos adicionar escape a "\\s".

2. A relação entre \s e \t\n\r\f e ' ': o
caractere em branco é ' ', '\t', '\n', '\r' ou '\f'. Portanto, [\t\n\r\f] é usado para representar espaços em branco e \s é equivalente a [\t\n\r\f].

3. \\s+:
Em expressões regulares java, p* representa 0 ou múltiplas ocorrências do padrão p, p+ representa 1 ou múltiplas ocorrências do padrão p, e p? representa 0 ou 1 ocorrência do padrão p. Portanto, geralmente usamos \s+ ao fazer perguntas. Assim como o código acima, \s terá problemas ao lidar com vários espaços consecutivos e você precisará usar \s+.
 

Acho que você gosta

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