检查字符串java中是否存在String

时间:2013-07-23 18:49:35

标签: java android string

我正在寻找一段可以在字符串中搜索字符串的代码。

String mainSTR = "It is Wednesday";

所以我需要一个代码,如果我搜索

将返回true "Day"中的

"day""DAY"mainSTR

我尝试了像

这样的方法
mainSTR.contains("")

mainSTR.IndexOf("") > -1

对我不起作用

谢谢:)

7 个答案:

答案 0 :(得分:2)

好吧,人们不能指望和Android Developer这样的问题。无论如何,要在String中查找任何单词,您可以使用Java方法

String mainSTR = "It is Wednesday";
String findThis = "DaY";

if(mainSTR.toLowerCase().contains(findThis.toLowerCase()))
{
   System.out.println("true: Day found");
}
else
   System.out.println("false: Day not found");

答案 1 :(得分:0)

这里可以使用的是单向 - 规范化功能。 toLowerCase(或toUpperCase)就是这样一个帮手。

mainSTR.toLowerCase().contains("day");

答案 2 :(得分:0)

mainSTR.toUpperCase().contains("day".toUpperCase());

答案 3 :(得分:0)

String days = "day";//or "Day" or "DAY"
mainSTR.toLowerCase().contains(days.toLowerCase());

Ps:进行此类比较,您应该首选toLowerCase(Locale.ENGLISH)toUpperCase(Locale.ENGLISH),它们会为您提供区域设置不敏感的字符串。

here就是javaDoc对它的评价。

  

注意:此方法对区域设置敏感,可能会产生意外   结果如果用于要解释语言环境的字符串   独立。示例是编程语言标识符,协议   键和HTML标记。例如,土耳其语中的“TITLE”.toLowerCase()   locale返回“t?tle”,其中'?'是LATIN小写字母我   字符。要获得区域设置不敏感字符串的正确结果,   使用toLowerCase(Locale.ENGLISH)。

答案 4 :(得分:0)

请尝试以下:

mainSTR.toUpperCase().contains(day.toUpperCase());

干杯!!

答案 5 :(得分:0)

如果mainSTR是一个非常长的字符串,这种方法可能更有效:

String mainSTR = "It is Wednesday";
String toSearch = "Day";
boolean found = Pattern.compile(toSearch, Pattern.CASE_INSENSITIVE).matcher(mainSTR).find();

最后一行相当于

boolean found = Pattern.compile("(?i)" + toSearch).matcher(mainSTR).find();

但请注意toSearch如果以这种方式执行,可能不包含正则表达式元字符。

答案 6 :(得分:0)

检查出来

   String mainStr="It is Wednesday";
   System.out.println(mainStr.toLowerCase().contains("wed".toLowerCase()));