我有一个字符串
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?
答案 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);