kotlin: 字符串: 下标

一,功能

first{}高阶函数: 查找等于某一个字符的第一个元素

firstOrNull()函数,它和first()函数的区别在于如果字符串为空串时,first()函数会抛出异常,
firstOrNull()函数会返回null

firstOrNull{}函数,它和first{}函数的区别在于如果字符串为空串时,first{}函数会抛出异常,
firstOrNull{}函数会返回null

 

last{}高阶函数: 查找等于某一个字符的最后一个元素

lastOrNull()firstOrNUll()类似。lastOrNull{}firstOrNUll{}类似

 

indexOf() : 查找某一个元素或字符串在原字符串中第一次出现的下标。

indexLastOf() : 查找某一个元素或字符串在原字符串中最后一次出现的下标。

indexOfFirst{} : 同indexOf()

indexOfLast{} : 同indexLastOf()

二,例子

代码:

        //处理按钮点击事件
        binding.button1.setOnClickListener {
            val str = "kotlin very good"
             // 如果未查找到满足条件的元素,会抛出NoSuchElementException异常

            println("最后一个元素的索引:"+str.lastIndex)
            println("字符串长度:"+str.count())
            println("查找最后一个元素:"+str.last())

            println("查找最后一个元素:get方法:"+str.get(str.count()-1))
            println("查找最后一个元素:get方法:"+str.get(str.lastIndex))
            println("查找最后一个元素:"+str[str.lastIndex])

            println("查找等于o字符的最后一个元素:"+str.last{ it == 'o' })

            println("查找最后一个元素:"+str.lastOrNull())
            println("查找等于w字符的最后一个元素:"+str.lastOrNull{ it == 'w' })
        }

运行结果:

image

三,例子

代码:

        //处理按钮点击事件
        binding.button2.setOnClickListener {
            val str = "kotlin very good"
            // 如果未查找到满足条件的元素,会抛出NoSuchElementException异常

            println("查找第一个元素:"+str.first())
            println("查找第一个元素:get方法:"+str.get(0))
            println("查找第一个元素:"+str[0])

            println("查找等于o字符的第一个元素:"+str.first{ it == 'o' })

            println("查找第一个元素:"+str.firstOrNull())
            println("查找等于w字符的第一个元素:"+str.firstOrNull{ it == 'w' })
        }

运行结果:

image

四,例子

代码:

        //处理按钮点击事件:
        binding.button3.setOnClickListener {
            val str = "kotlin very good"
            println(str.indexOfFirst { it == 'o' })
            println(str.indexOfLast { it == 'o' })
            println(str.indexOf('o',0))
            println(str.indexOf("very",0))
            println(str.lastIndexOf('o'))
            println(str.lastIndexOf("good"))
        }

运行结果:

image

 

posted @ 2025-09-06 08:37  刘宏缔的架构森林  阅读(4)  评论(0)    收藏  举报