Programa Java para eliminar una palabra dada de una string

Dada una string y una palabra, esa tarea elimina la palabra de la string si existe; de ​​lo contrario, devuelve -1 como salida. Para mayor claridad, revise la ilustración que se muestra a continuación de la siguiente manera.

Ilustración:

Input    : This is the Geeks For Geeks
           word="the"
Output   : This is Geeks For Geeks
 
Input    :  Hello world Hello"  
           word = Hello
Output   : world
Explanation: The given string contains the word two times

Input    : Hello world  
           word = GFG
Output   : Hello world
Explanation: word doesn't exists in the string

Ahora, para alcanzar la meta, discutiremos nuestros dos enfoques, a saber, los siguientes:

  1. Enfoque ingenuo utilizando técnicas de búsqueda.
  2. Enfoque óptimo utilizando el método String.replaceAll() 

Método 1: Usar técnicas de búsqueda 

  • Convierta la string en una array de strings.
  • Repita la array y verifique que la palabra no sea igual a la palabra dada.
  • Concatene la palabra en un nuevo nombre de array de strings como una nueva string.
  • Imprime la nueva string.

Ejemplo

Java

// Java Program to Remove a Given Word From a String
// using searching techniques
 
// Importing input output classes
import java.io.*;
 
// main class
class GFG {
 
    // Method 1
    // To remove the word
    static void remove(String str, String word)
    {
        // Split the string using split() method
        String msg[] = str.split(" ");
        String new_str = "";
 
        // Iterating the string using for each loop
        for (String words : msg) {
 
            // If desired word is found
            if (!words.equals(word)) {
 
                // Concat the word not equal to the given
                // word
                new_str += words + " ";
            }
        }
 
        // Print the new String
        System.out.print(new_str);
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Custom string as input
        String str = "This is the Geeks For Geeks";
 
        // Word to be removed from above string
        String word = "the";
 
        // Calling the method 1 by passing both strings to
        // it
        remove(str, word);
    }
}
Producción

This is Geeks For Geeks 

Complejidad de tiempo : O(n), donde n es la longitud de la string dada.

Método 2: Usar el método String.replaceAll() 

  1. Este método toma dos entradas old_word y la nueva palabra en formato regex.
  2. Reemplace toda la palabra antigua con la palabra nueva.
  3. Devuelve la string resultante.

Ejemplo 

Java

// Java Program to Remove a Given Word From a String
 
// Importing input output classes
import java.io.*;
 
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Given String as input from which
        // word has to be removed
        String str = "This is the Geeks For Geeks";
 
        // Desired word to be removed
        String word = "the";
 
        // Replace all words by "" string
        // using replaceAll() method
        str = str.replaceAll("the", "");
 
        // Trim the string using trim() method
        str = str.trim();
 
        // Printing the final string
        System.out.print(str);
    }
}
Producción

This is  Geeks For Geeks

Complejidad de tiempo: O(n)

Espacio Auxiliar: O(n)

Publicación traducida automáticamente

Artículo escrito por zack_aayush 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 *