Expressões regulares são bastante eficientes no processamento de strings
Quanto ao uso de expressões regulares, é mais sobre minha própria experiência. Se você estiver interessado, pode consultar livros relevantes.
Aqui escrevemos principalmente sobre os métodos de operação regulares em java
Exemplo 1: correspondência classe Demonstração {
public static void main(String[] args) {
Scanner sc = novo Scanner(System.in);
//Obter entrada
System.out.print("Digite:");
String str = sc.nextLine();
verificar(str);
}
verificação de void estático privado (String str) {
//O primeiro dígito correspondente é 1-9, o segundo dígito e os dígitos subsequentes são 0-9 (o número está entre 4-10)
String regex = "[1-9][0-9]{4,10}";
/*
//Corresponde a um único caractere maiúsculo ou minúsculo az
String regex = "[a-zA-Z]";
//Corresponde aos números, preste atenção aos caracteres de escape
String regex = "//d";
//corresponde a não dígitos
String regex = "//D";
*/
if(str.matches(regex)) {
System.out.println("Correspondência bem sucedida");
} outro {
System.out.println("Falha na correspondência");
}
}
}
Exemplo 2: Corte
classe Demonstração {
public static void main(String[] args) {
Scanner sc = novo Scanner(System.in);
System.out.print("Digite:");
String str = sc.nextLine();
dividir(str);
}
divisão de vazio estático privado (String str) {
//Corresponde a um ou mais espaços
String regex = "+";
String[] arr = str.split(regex);
for (String s: arr) {
System.out.println(s);
}
}
}
Exemplo 3: Substituição
classe Demonstração {
public static void main(String[] args) {
Scanner sc = novo Scanner(System.in);
System.out.print("Digite:");
String str = sc.nextLine();
substituir(str);
}
private static void substituir(String str) {
//Combina palavras repetidas
String regex = "(.)//1+";
String s = str.replaceAll(regex, "*");
System.out.println(s);
}
}