indexof函数的学习

indexof函数的学习

  • 在 Kotlin 中,indexOf 方法用于查找一个子字符串在字符串中首次出现的索引。如果找到了子字符串,它返回子字符串的索引;如果没有找到,则返回 -1。这个方法是 String 类的一个扩展函数,因此可以直接在任何 String 对象上调用。

    以下是 indexOf 方法的一些基本用法:

    1. 查找子字符串的索引

      val str = "Hello, World!"
      val index = str.indexOf("World")
      println(index) // 输出 7,因为 "World" 在字符串中的位置(首字母)是从索引 7 开始的
      
    2. 查找字符的索引

      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
      
    3. 从特定索引开始查找

      val str = "Hello, World!"
      val index = str.indexOf("o", 5) // 从索引 5 开始查找 'o'
      println(index) // 输出 8,因为从索引 5 开始(从','字符开始),'o' 首次出现在索引 8
      
    4. 查找多个字符或子字符串

      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
      
      
    5. 查找子字符串的最后一个匹配项的索引

      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() vs includes()

    • indexOf() 返回元素的索引(第一次出现的位置),如果元素不存在,则返回 -1
    • includes() 返回一个布尔值,表示是否包含某个元素(truefalse)。

总结

  • indexOf() 是一个简单且强大的方法,能有效地查找字符串或数组中某个元素的位置。
  • 对于字符串,indexOf() 适合用来判断某个字符或子字符串是否存在,或者找到它的第一次出现位置。
  • 对于数组,indexOf() 可以用来查找某个元素第一次出现的索引,也能帮助进行去重、检查元素是否存在等操作。

通过合理使用 indexOf(),你可以更加高效地处理字符串和数组中的查找任务!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值