比较java中的两个字符串

比较java中的两个字符串,java,Java,我想比较java中的两个字符串,下面的代码需要回答“是” String String1="2014-08-12 09:00:00"; String String2="2014-08 09:00:00"; if(String1.contains(String2)){ System.out.println(" yes "); }else{ System.out.println(" no "); } conta

我想比较java中的两个字符串,下面的代码需要回答“是”

  String String1="2014-08-12 09:00:00";
  String String2="2014-08 09:00:00";

   if(String1.contains(String2)){
       System.out.println(" yes ");
   }else{
       System.out.println(" no ");
   }                 
contains函数无法执行此操作。我应该编写什么代码?这是样品。。实际上,我正在将String1与内容列表进行比较


我需要帮助。

编写自己的解析器函数。在我的脑海里,我认为你能做到

  • 创建一个HashMap。迭代第一个字符串。将每个字符存储为键,并将该字符的出现次数作为值
  • 现在迭代第二个字符串。对于每个字符,从Hashmap获取值。如果为0,则返回“否”,否则将该值减少1
  • 若到达第二个字符串的末尾,则返回Yes

  • 我假设您希望对字符串进行部分比较,以查看一个字符串是否包含在另一个字符串中。如果要部分比较字符串以查看它们是否相等,可以使用以下方法:

    public boolean contains(最终字符串基,最终字符串搜索){
    最终字符串baseLowerCase=base.toLowerCase(Locale.ENGLISH);
    for(最后一个字符c:search.toLowerCase(Locale.ENGLISH.tocharray())
    if(baseLowerCase.indexOf(c)<0)
    返回false;
    返回true;
    }
    

    注意,这并不是万无一失的。理想情况下,您可能希望设置某种阈值,而不仅仅是等于1个字符。它也不会检查两个字符串中的字符是否位于相同的位置。

    如果要比较两个日期,请尝试以下操作:

     SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:dd");
            String String1 = "2014-08-12 09:00:00";
            String String2 = "2014-08 09:00:00";
    
            Date date1 = formatter.parse(String1);
            formatter.applyPattern("yyyy-MM HH:mm:dd");
            Date date2 = formatter.parse(String2);
    
            if(date1.equals(date2)){
                System.out.println(" yes ");
            }else{
                System.out.println(" no ");
            }
    

    恐怕你实际上得做一件可怕的事情,叫做“编程”。
    boolean compare(String s1,String s2){返回“yes”}
    在那里,我根据你的规格做了一个函数。现在,您如何正确地表述您需要什么和您尝试了什么?根据什么比较两个字符串?令牌?看看当你在String1后面加一个点时会弹出什么方法。。。。您可能会看到一些有用的内容检查字符串的格式是否始终相同,拆分string2并测试string1是否包含第一个标记和第二个标记,打印“是”,否则打印“否”。我的代码和您的代码有什么区别????(除了变量名和print语句)@PurbaDasMoumi add在函数名之后抛出异常,例如:public static void main(String[]args)抛出异常{非常感谢:)…这很有效..你把我从编程中救了出来..:)@PurbaDasMoumi欢迎你,你能接受我的回答吗?
     SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:dd");
            String String1 = "2014-08-12 09:00:00";
            String String2 = "2014-08 09:00:00";
    
            Date date1 = formatter.parse(String1);
            formatter.applyPattern("yyyy-MM HH:mm:dd");
            Date date2 = formatter.parse(String2);
    
            if(date1.equals(date2)){
                System.out.println(" yes ");
            }else{
                System.out.println(" no ");
            }