在java中怎样判断是否有某个字符串

比如用键盘输入一段字符“good morning everyone"然后怎样判断输入的字符中是否有”morning“这个单词,如果有的话,还要把morning后的字符都删掉?对java比较菜鸟,希望各位高手指教,不胜感激

可以用contains()()这个方法,判断一个字符串是否包含另一个字符串。
可以用repalce()这个方法,把想删除的字符替换成空。

下面是示例代码,我测试过了,希望能帮到你,仍有问题可以HI我~!
public class Test {
public static void main(String[] args) {
String s1 = "abc";
String s2 = "1111abcdefe";
if(s2.contains(s1)){
System.out.println("s2包含了s1");
//删掉s1
s2 = s2.replace(s2.substring(s2.indexOf(s1), s2.length()), "");
System.out.println(s2);
}else{
System.out.println("s2不包含s1");
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-27
public void test1(){

String string="good morning everyone";
String sub="morning";
int a=string.indexOf(sub);
if(a>=0){
System.out.println("morning在字符串中的位置:"+a);
String ss1=string.substring(0,a+sub.length());
String ss2=string.substring(a+sub.length(),string.length());
System.out.println("你需要的结果是:"+ss1);
System.out.println("删掉的字符是:"+ss2);
}else{
System.out.println("不存在");
}
}本回答被提问者采纳
第2个回答  2010-11-20
contains应该不好使,contains用的是=判断!这里应该用equals

Sting[] a = inputString.split();
String result = "";
for(int i = 0; i<a.length; i++){
if(a[i].equals(“morning”)){
result += a[i];
break;
}
else
result += a[i];
}

OK!
第3个回答  2010-11-20
这个很容易,String有这个方法,我提供另一个简单方案:

①将源字符串用空格分割得到字符串数组;
②创建一个StringBuffer对象sb:
③循环以上的数组:如果不是指定字符串就加入到sb中:sb.append();
如果是指定的字符串:continue;
④返回sb.toString();

在这个题目中这个过程相当于string.replace("","");
第4个回答  2010-11-20
String text="good morning everyone";
if(text.contains(' morning')){

}
相似回答