索引区分大小写?

2022-08-31 11:42:21

indexOf(String) 方法是否区分大小写?如果是这样,是否有不区分大小写的版本?


答案 1

这些方法都区分大小写。您可以通过事先将字符串转换为大写/小写字母来使它们(粗略地,以中断的方式,但适用于大量情况)不区分大小写:indexOf()

s1 = s1.toLowerCase(Locale.US);
s2 = s2.toLowerCase(Locale.US);
s1.indexOf(s2);

答案 2

indexOf(String) 方法是否区分大小写?

是的,它区分大小写:

@Test
public void indexOfIsCaseSensitive() {
    assertTrue("Hello World!".indexOf("Hello") != -1);
    assertTrue("Hello World!".indexOf("hello") == -1);
}

如果是这样,是否有不区分大小写的版本?

没有。您可以在调用 indexOf 之前将两个字符串都转换为小写:

@Test
public void caseInsensitiveIndexOf() {
    assertTrue("Hello World!".toLowerCase().indexOf("Hello".toLowerCase()) != -1);
    assertTrue("Hello World!".toLowerCase().indexOf("hello".toLowerCase()) != -1);
}