String s ="Ganesh";
System.out.println(""+s.indexOf("ga"));
System.out.println(""+s.indexOf("Ga"));
当我运行此功能时,-1
获得s.indexOf("ga")
而0
获得s.indexOf("Ga")
我希望两者都获得0
。
如何实现这一目标?
答案 0 :(得分:2)
不幸的是,没有indexOfIgnoreCase()
方法,但使用toLowerCase()
可以达到相同的效果。
System.out.println(""+s.toLowerCase().indexOf("ga"));
答案 1 :(得分:1)
要使用indexOf
不区分大小写,您可以先将字符串转换为小写:
System.out.println("" + s.toLowerCase().indexOf("ga".toLowerCase()));
System.out.println("" + s.toLowerCase().indexOf("Ga".toLowerCase()));
答案 2 :(得分:1)
toLowerCase()
之前,使用toUpperCase()
类的String
或indexOf()
方法。
答案 3 :(得分:1)
使用indexOf
时,您可以将要查找的字符串转换为小写或大写字母,这样无论大小写如何都可以获得正确的索引
String s = "Ganesh";
String s2 = "ga";
String s3 = "Ga";
System.out.println(s.toLowerCase().indexOf(s2.toLowerCase()));
System.out.println(s.toLowerCase().indexOf(s3.toLowerCase()));
> 0
> 0
你甚至可以把它放到你自己的方法中:
public int indexOfIgnoreCase(String s, String find) {
return s.toLowerCase().indexOf(find.toLowerCase());
}
然后你可以像这样使用它:
String s = "Ganesh";
System.out.println(indexOfIgnoreCase(s, "ga"));
System.out.println(indexOfIgnoreCase(s, "Ga"));
> 0
> 0