我想在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 ");
}
包含功能无法做到这一点。我该怎么编码?这是样本..实际上我正在将String1与内容列表进行比较。
我需要帮助。
答案 0 :(得分:0)
编写自己的解析器函数。在我的脑海里,我认为你可以做到
答案 1 :(得分:0)
我假设您想部分比较字符串以查看是否包含另一个字符串。如果您想部分比较字符串以查看它们是否相等,您可以使用此answer中的此方法:
public boolean contains(final String base, final String search){
final String baseLowerCase = base.toLowerCase(Locale.ENGLISH);
for(final char c : search.toLowerCase(Locale.ENGLISH).toCharArray())
if(baseLowerCase.indexOf(c) < 0)
return false;
return true;
}
请注意,这并非万无一失。理想情况下,您可能希望设置某种阈值而不是仅等于1个字符。它也不会检查字符是否在两个字符串中的相同位置。
答案 2 :(得分:-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 ");
}