2017-01-27 3 views
2

Also im Grunde, was ich brauche Hilfe Ich brauche Hilfe tun, ein Wort von einem Stich zu entfernen. Ich weiß nicht, wie man Array, Char und so nur für diejenigen verwendet, die mich darauf verweisen.Entfernen eines Wortes in einer Zeichenkette (RemoveString)

Output Ex: 
Enter a sentence: I really like Jolly Ranchers. 

Enter a string: really 

I like Jolly Ranchers. 

Ich muss nur jedes Auftreten der Zeichenfolge im Wesentlichen aus dem Satz entfernen. Danke für die Hilfe im Voraus!

(nicht für Handout suchen, vielleicht Pseudo-Code oder ein anderes Beispiel.)

+0

Blick in die String-Klassen 'replace' Methode – zero01alpha

+0

Blick auf' 'regex' und String.replaceAll() mit' ... – brso05

Antwort

-1

Bitte versuchen Sie diese

String[] s = originalString.split(" "); 
    String wordToRemove = StandardInput; 
    String finalString =""; 
    for(String word : s){ 
    if(!word.equals(wordToRemove)){ 
    System.out.Print(word); 
    finalString += word+" "; 
      } 
    } 
+0

Vor Code veröffentlichen, bitte testen Sie es so um sicherzustellen, dass es tatsächlich funktioniert und keine Ausnahmen generiert. Das wird neue Leute, die in die Java-Sprache kommen, verwirren und frustrieren, die vielleicht Ihr allgemeines Code-Konzept verwenden wollen, was gut ist und für viele verschiedene Codeanwendungen angewendet werden kann (ich bin mir sicher). Eine kurze Erklärung des Codes oder der Kommentare innerhalb des Codes ist ebenfalls hilfreich. Ich habe diesen Beitrag nicht gewählt, da ich sicher bin, dass Sie ihn korrigieren werden. – DevilsHnd

-2

Ich glaube, strings Methode eine ersetzen haben so etwas wie str.replace versuchen ("wirklich" "") oder replaceEach wenn es mehr als eins gibt. Ich schlage vor, die Java-API für weitere Funktionen zu betrachten.

+0

Ich könnte dies gewählt haben, aber stattdessen dachte ich, ich würde nur alle wissen lassen, die Methode replaceEach() ist eine Apache Commons StringUtils-Methode, die innerhalb dieser Antwort hätte angegeben werden sollen. String.replaceAll() wird den Trick ohne die Notwendigkeit von Apache machen, außer natürlich, dass Sie es bereits benutzen. ;) – DevilsHnd

+0

ah ja, danke, dass du dir Zeit genommen hast, anderen zu helfen, das neue Kind niederzuschlagen. Wie kurios von dir. – Finn

0

Sie diesen Weg gehen kann:

public static String remove(){ 
     Scanner sc = new Scanner(System.in); 
     System.out.println("Enter a sentence :"); 
     String sentence = sc .nextLine(); 
     System.out.println("Enter a word :"); 
     String word = sc .nextLine(); 
     String res =""; 
     for(String words : sentence.split(" ")){ 
      if(!words.equalsIgnoreCase(word)){ //or words!=word if you want to NOT ignore the case 
       res+=words+" "; 
      } 
     } 
     return res; 
    } 

public static void main(String[] args) { 
    System.out.println(remove()); 
} 

Es jedes Wort sucht, und nur diejenigen halten, die nicht auf das Wort, das Sie eingeben gleich sind

Oder ein mit einem kürzeren Weg:

public static String remove(){ 
     Scanner sc = new Scanner(System.in); 
     System.out.println("Enter a sentence :"); 
     String sentence = sc .nextLine(); 
     System.out.println("Enter a word :"); 
     String word = sc .nextLine(); 
     return sentence.replaceAll(word,""); 
    } 
0

Verwenden replaceAll Funktion erhält diese Funktion zwei params

  1. regex - die Zeichenfolge Sie

  2. substr- die Zeichenfolge ersetzen sie durch Beispiel ersetzen möchten:

    newString = str1.replaceAll(regex, substr);

Neuerstring ist die bearbeitete Zeichenfolge

str1 ist die Zeichenfolge, die Sie bearbeiten möchten

0

String.replaceAll Werke für diesen

package se.samples; 

import java.util.Scanner; 

public class WordRemover { 
    static final String welcomeMessage = "Enter a sentence: ", 
      secondMessage = "Enter a string: ", 
      resultMessage = ""; 

    static String replace(String source, String that){ 
     return source.replaceAll(that, ""); 
    } 

    public static void main(String[] args) throws Exception { 
     System.out.print(welcomeMessage); 
     try(Scanner s = new Scanner(System.in)){ 
      String input = s.nextLine(); 
      System.out.print(secondMessage); 
      System.out.println(resultMessage + replace(input, s.nextLine())); 
     } 
    } 

} 
Verwandte Themen