String s ="Ganesh";
System.out.println(""+s.indexOf("ga"));
System.out.println(""+s.indexOf("Ga"));
当我运行它时,我得到-1
了s.indexOf("ga")
0
s.indexOf("Ga")
我想0
两者兼得。
如何做到这一点?
不幸的是,没有indexOfIgnoreCase()
方法,但是您可以使用toLowerCase()
.
System.out.println(""+s.toLowerCase().indexOf("ga"));
要使用indexOf
不区分大小写,您可以先将字符串转换为小写:
System.out.println("" + s.toLowerCase().indexOf("ga".toLowerCase()));
System.out.println("" + s.toLowerCase().indexOf("Ga".toLowerCase()));
使用toLowerCase()
或 类的toUpperCase()
方法String
,然后再使用indexOf()
.
您可以在使用时将要查找的字符串转换为小写或大写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