Слова в String-Как удалить

Я пытаюсь разрешить пользователю удалить слово из строки str. Например, если они набирают "Hello my name is john", выход должен быть "Hello is john". Как это сделать?

import java.util.*;
class WS7Q2{
 public static void main(String[] args){
 Scanner in = new Scanner(System.in);

 System.out.println("Please enter a sentence");
 String str = in.nextLine();

 int j;

 String[] words = str.split(" "); 
 String firstTwo = words[0] + " " + words[1]; // first two words
 String lastTwo = words[words.length - 2] + " " + words[words.length - 1];//last two words 

 System.out.println(str);

 }
}
3 ответа

Вот как вы разделили строку

String myString = "Hello my name is John";

String str = myString.replace("my name", "");
System.out.println(str);

Это напечатает "Hello is John"


Почему бы просто не использовать String # replace()

String hello = "Hello my name is john"

hello = hello.replace("my name", "");

System.out.println(hello);


String неизменна в java, вы не можете изменить сама строку (не так легко, может быть сделано с использованием отражения, но она не рекомендуется).

Вы можете связать новую строку с str с минимальными изменениями в вашем коде, используя что-то похожее:

str = firstTwo + " " + lastTwo;

licensed under cc by-sa 3.0 with attribution.