"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como o Scanner.useDelimiter() do Java funciona com expressões regulares?

Como o Scanner.useDelimiter() do Java funciona com expressões regulares?

Publicado em 2024-12-25
Navegar:298

How Does Java\'s Scanner.useDelimiter() Work with Regular Expressions?

Compreendendo delimitadores com Scanner.useDelimiter em Java

A classe Scanner em Java fornece o método useDelimiter, permitindo que você especifique um delimitador (um caractere ou padrão) que separa fichas. No entanto, o uso de delimitadores pode ser confuso para iniciantes. Vamos resumir em termos mais simples.

Considere o snippet:

sc = new Scanner(new File(dataFile));
sc.useDelimiter(",|\r\n");

Neste exemplo, o delimitador é definido como uma combinação de uma vírgula (",") e um retorno de carro seguido por uma nova linha ("\ r\n"). O scanner usará esse delimitador para separar tokens no arquivo de dados.

Compreendendo expressões regulares

O delimitador especificado em useDelimiter é uma expressão regular. Expressões regulares são padrões usados ​​para combinar caracteres ou sequências. O delimitador ",|\r\n" especifica que um token termina com uma vírgula ou um retorno de carro seguido por uma nova linha.

Um exemplo

Vamos dar um exemplo:

String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
System.out.println(s.nextInt());   // prints: 1
System.out.println(s.nextInt());   // prints: 2
System.out.println(s.next());      // prints: red
System.out.println(s.next());      // prints: blue
s.close();

Neste exemplo, o delimitador é "\sfish\s." O \\s* indica que pode haver qualquer número de espaços em branco (incluindo zero) antes ou depois da palavra "peixe". Isso significa que o scanner irá combinar e extrair tokens como "1 peixe", "2 peixes" e assim por diante.

Conclusão

Lembre-se de que ao usar useDelimiter em Java, é importante entender o regular expressões. Você pode encontrar tutoriais detalhados online para aprimorar seu conhecimento sobre padrões regex. Com uma compreensão adequada de delimitadores e expressões regulares, você pode analisar e extrair dados de arquivos de texto com eficiência usando a classe Scanner.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3