English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Método replaceFirst() com exemplo no Matcher do Java

Estejava.util.regex.MatcherClasse representa um motor, realizando várias operações de correspondência. Esta classe não possui construtor, pode usarmatches()O método create da classe java.util.regex.Pattern/Obtém o objeto dessa classe.

esta classe (Matcher)replaceFirst()O método aceita um valor de string e substitui a primeira subsequência correspondente no texto de entrada com o valor fornecido, retornando o resultado.

Exemplo1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReplaceFirstExample {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Insira o texto de entrada: ");
      String input = sc.nextLine();
      String regex = "[#]";
      //Cria um objeto padrão
      Pattern pattern = Pattern.compile(regex);
      //Cria um objeto Matcher
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
      }
      //Pesquisa usando o padrão
      System.out.println("O caractere # ocorreu " );+count+" vezes no texto fornecido");
      //Substituir a primeira ocorrência
      String result = matcher.replaceFirst("@");
      System.out.println("Texto após substituir a primeira ocorrência de # por @ \n");+result);
   }
}

Resultado de Saída

Insira o texto de entrada:
Insira o texto de entrada:
Hello# How # are# you # welcome to Tutorials#point
O caractere # ocorreu 5 vezes no texto fornecido
Texto após substituir a primeira ocorrência de # por @
Hello@ How # are# you # welcome to Tutorials#point

Exemplo2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReplaceFirstExample {
   public static void main(String args[]) {}}
      //Ler string do usuário
      System.out.println("Entre uma String");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      String regex = "\\s+";
      //Compile a expressão regular
      Pattern pattern = Pattern.compile(regex);
      //Recupere o objeto do matcher
      Matcher matcher = pattern.matcher(input);
      //Substitua todos os espaços em branco por um único espaço
      String result = matcher.replaceFirst("_");
      System.out.print("Texto após substituir o primeiro espaço por '_': \n"+result);
   }
}

Resultado de Saída

Entre uma String
hello this is a sample text with irregular spaces
Texto após substituir o primeiro espaço por '_':
hello_this is a sample text with irregular spaces