2014-07-15 45 views
0

對於一個項目,我需要接受用戶輸入,比如「我恨你」,我需要用「愛」替換「恨」這個詞。我無法使用全部替換。替換用戶輸入中的一個詞

我知道我可以使用.indexOf並找到恨這個詞的位置,然後使用連接來形成一個新的句子我只是很困惑如何做到這一點。

我會展示我的下面。也可以記住,我是這個網站和編程的新手。我不只是在這裏快速解決問題,我實際上正在努力學習這一點。我一直在做很多研究,但似乎無法找到答案。

import java.util.Scanner; 

public class ReplaceLab { 
    public static void main(String[]args){ 

     Scanner input = new Scanner(System.in); 
     System.out.print("Please enter a line of text:"); 
     String userInput = input.nextLine(); 
     int position = userInput.indexOf("hello"); 
     System.out.println("I have rephrased that line to read"); 

    } 
} 
+0

如何使用String.replaceFirst()'? – alfasin

回答

0

與string.replace()會在你輸入的字符串替換每個ocurrance:

String userInput = input.nextLine(); 
String replaced = userInput.replace("hate", "love");// Here you have your new string 

例如,「我討厭討厭你」將成爲「我愛我愛你」。

如果只有第一次出現必須改變(使我的例子「我討厭愛你」),那麼alfasin評論是正確的,String.replaceFirst()將完成工作。

0

如果你必須使用.indexOf()

String find = "hate"; 
String replace = "love"; 

int pos = userInput.indexOf(find); 
int pos2 = pos + find.size(); 

String replaced = userInput.substring(0, pos) + " " + replace + " " + userInput.substring(pos2); 

如果你這樣做是確保檢查的indexOf返回一個有效的數字。

相關問題