indexof函数的学习
-
在 Kotlin 中,
indexOf
方法用于查找一个子字符串在字符串中首次出现的索引。如果找到了子字符串,它返回子字符串的索引;如果没有找到,则返回-1
。这个方法是String
类的一个扩展函数,因此可以直接在任何String
对象上调用。以下是
indexOf
方法的一些基本用法:-
查找子字符串的索引:
val str = "Hello, World!" val index = str.indexOf("World") println(index) // 输出 7,因为 "World" 在字符串中的位置(首字母)是从索引 7 开始的
-
查找字符的索引:
val str = "Hello, World!" val index = str.indexOf('W') val index1 = str.indexOf('l') val index2 = str.indexOf('x') println(index) // 输出 7,因为字符 'W' 在字符串中的位置是从索引 7 开始的 println(index1) //返回2 println(index2) //未找到,返回-1
-
从特定索引开始查找:
val str = "Hello, World!" val index = str.indexOf("o", 5) // 从索引 5 开始查找 'o' println(index) // 输出 8,因为从索引 5 开始(从','字符开始),'o' 首次出现在索引 8
-
查找多个字符或子字符串:
val str = "Hello, World!" val str1 = "Hello, orld!" val index = str.indexOfAny(charArrayOf('W', 'r', 'd')) val index1= str1.indexOfAny(charArrayOf('W', 'r', 'd')) println(index) // 输出 7,因为 'W' 是第一个出现的字符,且出现在索引 7 println(index1) // 输出 8,因为 字符'W'没找到,且出现'r'在索引 8
-
查找子字符串的最后一个匹配项的索引:
val str = "Hello, World! Hello again!" val index = str.lastIndexOf("Hello") println(index) // 输出 13,虽然有两个相同的字符串"Hello",但只会返回最后一次出现的位置,是从索引 13 开始的
注意:
indexOf
方法在 Kotlin 中是大小写敏感的,这意味着 “hello” 和 “Hello” 会被视为不同的字符串。如果你需要进行不区分大小写的搜索,你可能需要先将字符串转换为全小写或全大写,然后再进行搜索。6.
indexOf()
方法在数组中的应用fun main() { val arr = arrayOf(10, 20, 30, 40, 50) // 查找元素 30 在数组中的位置 println(arr.indexOf(30)) // 输出: 2 // 查找元素 20 在数组中的位置 println(arr.indexOf(20)) // 输出: 1 // 查找不存在的元素 println(arr.indexOf(100)) // 输出: -1 // 从索引 2 开始查找元素 20 println(arr.indexOf(20, 2)) // 输出: -1 }
-
应用场景:
- 检查元素是否存在:你可以使用
indexOf()
判断某个字符或元素是否存在。如果返回-1
,说明元素不存在。 - 数组去重:在处理数组时,你可以使用
indexOf()
来去重数组,避免重复的元素。 - 查找子字符串的位置:
indexOf()
是查找子字符串在字符串中位置的常见方法,可以用来实现匹配功能。
扩展:
-
indexOf()
vsincludes()
indexOf()
返回元素的索引(第一次出现的位置),如果元素不存在,则返回-1
。includes()
返回一个布尔值,表示是否包含某个元素(true
或false
)。
总结
indexOf()
是一个简单且强大的方法,能有效地查找字符串或数组中某个元素的位置。- 对于字符串,
indexOf()
适合用来判断某个字符或子字符串是否存在,或者找到它的第一次出现位置。 - 对于数组,
indexOf()
可以用来查找某个元素第一次出现的索引,也能帮助进行去重、检查元素是否存在等操作。
通过合理使用 indexOf()
,你可以更加高效地处理字符串和数组中的查找任务!