我正在寻找一段可以在字符串中搜索字符串的代码。
String mainSTR = "It is Wednesday";
所以我需要一个代码,如果我搜索
将返回true"Day"
中的 "day"
或"DAY"
或mainSTR
。
我尝试了像
这样的方法mainSTR.contains("")
和
mainSTR.IndexOf("") > -1
对我不起作用
谢谢:)
答案 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()));