在特定单词后打印其余字符串

时间:2012-12-15 08:31:57

标签: java string word

我有一个字符串

  

saya dan anda saya dan adik dan ayah,saya dan siapa?

在我的程序中,用户输入一个单词,然后程序只显示字后面的字符串。 例如我输入

  

安达

我希望输出是

  

saya dan adik dan ayah,saya dan siapa?

我有这段代码

String kalimat = "saya dan anda saya dan adik dan ayah,saya  dan siapa?";
int kataSebelum = kalimat.indexOf("anda");
if (kataSebelum > 0){
kalimat = kalimat.substring(kataSebelum);
 System.out.println("Kalimat baru = " +kalimat);

但我得到了

  

anda saya dan adik dan ayah,saya dan siapa?

5 个答案:

答案 0 :(得分:2)

kalimat.indexOf("anda");返回"anda"的起始索引。将"anda"的长度添加到该索引以获取匹配后开始的子字符串。

kalimat = kalimat.substring(kataSebelum + "anda".length());

答案 1 :(得分:0)

public static void main(String[] args) {
        String str = "the quick brown fox jumps over the lazy dog";
        String remove = "quick";
        int length = remove.length();
        int idx = str.indexOf(remove);
        System.out.println("idx: " + idx);
        String output = str.substring(idx + length + 1); // add one more for the whitespace
        System.out.println(output);
}

答案 2 :(得分:0)

   String kalimat = "saya dan anda saya dan adik dan ayah,saya  dan siapa?";
            int kataSebelum = kalimat.indexOf("anda");
            if (kataSebelum > 0){
            kalimat = kalimat.substring(kataSebelum+inputStr.length());
             System.out.println("Kalimat baru = " +kalimat);
        }

答案 3 :(得分:0)

String.indexOf(String str)将返回与str匹配的第一个字符的位置。所以你需要做的是用str的长度来抵消这个值。

String kalimat = "saya dan anda saya dan adik dan ayah, saya dan siapa?";
int kataSebelum = kalimat.indexOf("anda");
if(kataSebelum > 0) {
    kataSebelum += "anda".length();
    kalimat = kalimat.substring(kataSebelum);
    System.out.println("Kalimat baru = " + kalimat);
}

答案 4 :(得分:0)

试试这个:

String kalimat = "saya dan anda saya dan adik dan ayah,saya  dan siapa?";
int kataSebelum = kalimat.indexOf("anda")+"anda".length;
if (kataSebelum >= "anda".length){
kalimat = kalimat.substring(kataSebelum);
System.out.println("Kalimat baru = " +kalimat);