2013-07-04 225 views
0
String s ="Ganesh"; 

System.out.println(""+s.indexOf("ga")); 
System.out.println(""+s.indexOf("Ga")); 

時需要EqualIgnoreCase當我跑,我得到-1s.indexOf("ga")0s.indexOf("Ga")越來越指數

我想0兩種。

如何實現這一目標?

回答

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 
2

不幸的是,沒有indexOfIgnoreCase()方法,但使用toLowerCase()可以達到同樣的效果。

System.out.println(""+s.toLowerCase().indexOf("ga")); 
1

要使用indexOf不區分大小寫的,你可以轉換字符串先小寫:

System.out.println("" + s.toLowerCase().indexOf("ga".toLowerCase())); 
System.out.println("" + s.toLowerCase().indexOf("Ga".toLowerCase())); 
+0

我個墨水它的低箱..由於一些限制不能編輯 –

+0

@HarshavardhanKonakanchi感謝您的評論 –

1

使用toLowerCase()toUpperCase()方法String類的,你可以使用indexOf()之前。