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
estasSe 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); } }
Hello how are you
Complejidad de tiempo: O(N)