Eliminar todos los caracteres no alfabéticos de una string en Java

Dada una string str, que consta de caracteres no alfabéticos. La tarea es eliminar todos esos caracteres no alfabéticos de str e imprimir las palabras en una nueva línea.

Ejemplos:

Entrada: str = “Hola, ¿cómo estás?”
Salida :
Hola
como
estas

Se eliminan la coma (,), el espacio en blanco y el signo de interrogación (?) y hay un total de 4 palabras en la string s.
Cada token se imprime en el mismo orden en que aparece en la string s.

Entrada: «Azad es un buen chico, ¿no?»
Salida:
Azad
es
un
buen
chico , ¿
no ?

Enfoque: Los caracteres no alfabéticos son básicamente cualquier carácter que no sea un número o una letra. Pueden ser letras del alfabeto inglés, espacios en blanco, signos de exclamación (!), comas (, ), signos de interrogación (?), puntos (.), guiones bajos (_), apóstrofes (‘) y símbolos de arroba (@). El enfoque es usar el método Java String.split para dividir String, s en una array de substrings. Luego imprima cada n palabras en una nueva línea en el mismo orden en que aparece en String s.

A continuación se muestra la implementación del enfoque anterior:

// Java program to split all
// non-alphabetical characters
import java.util.Scanner;
  
public class Main {
  
    // Function to trim the non-alphabetical characters
    static void printwords(String str)
    {
  
        // eliminate leading and trailing spaces
        str = str.trim();
  
        // split all non-alphabetic characters
        String delims = "\\W+"; // split any non word
        String[] tokens = str.split(delims);
  
        // print the tokens
        for (String item : tokens) {
  
            System.out.println(item + " ");
        }
    }
  
    public static void main(String[] args)
    {
  
        String str = "Hello, how are you  ?";
        printwords(str);
    }
}
Producción:

Hello 
how 
are 
you

Complejidad de tiempo: O(N)

Publicación traducida automáticamente

Artículo escrito por omarHasan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *