Kotlin——初级篇(八):字符串(String)

在这里插入图片描述
一、字符串查找
字符串查找功能在实际开发中,只会用到几个简单的函数,这里我只说明几个常用的。
1.1、获取第一个元素
主要包含first() | firstOrNull()和first{} | firstOrNull{}四个函数

first() | firstOrNull()
  作用 :查找字符串的第一个元素
  区别 :若字符串为空串时,前者会抛出NoSuchElementExceptio        n异常 ,后者会返回null

例:

val str = "kotlin very good"// 如果字符串为空串时,会抛出NoSuchElementException异常str.first()   <=>   str[0]   <=>   str.get(0)// 如果字符串为空串时,会返回nullstr.firstOrNull()



first{
   } | firstOrNull{
   }
作用 :查找等于某一个字符的第一个元素
区别 :未查找到满足条件的元素,前者会抛出NoSuchElementException异常 ,后者会返回null


例:

val str = "kotlin very good"// 如果未查找到满足条件的元素,会抛出NoSuchElementException异常str.first{ it == 'o' } // 如果未查找到满足条件的元素,会返回nullstr.firstOrNull{ it == 'o' } 



1.2、 获取最后一个元素
主要包含first()、firstOrNull()和first{}和firstOrNull{}四个函数

  last()和lastOrNull()
  
    作用 :查找字符串的最后一个元素
    区别 :若字符串为空串时,前者会抛出NoSuchElementExcept          ion异常 ,后者会返回null

例:

val str = "kotlin very good"// 如果字符串为空串时,会抛出NoSuchElementException异常// 其中 lastIndex 是一个拓展属性,其实现是 length - 1str.last()   <==>   str.get(lastIndex)   <==>  str[lastIndex]// 如果字符串为空串时,会返回nullstr.lastOrNull()


last{
   }和lastOrNull{
   }
作用 :查找等于某一个字符的最后一个元素
区别 :未查找到满足条件的元素,前者会抛出NoSuchElementException异常 ,后者会返回null


例:
val str = “kotlin very good”// 如果未查找到满足条件的元素,会抛出NoSuchElementException异常// 其实从源码中我们发现其是对原字符串反转之后再进行遍历查找满足条件的元素。这样遍历的次数就减少了str.last{ it == ‘o’ } // 如果未查找到满足条件的元素,会返回nullstr.lastOrNull{ it == ‘o’ }
1.3、查找元素
1.3.2、find{} | findLast{}
其实查找元素提供了两个高阶函数find{}、findLast{}。不过其内部都是调用firstOrNull()、lastOrNull()函数进行处理。这里不多作累述。
1.3.2、 查找对应元素的下标

  • indexOf() : 查找某一个元素或字符串在原字符串中第一次出现的下标。
  • indexLastOf() : 查找某一个元素或字符串在原字符串中最后一次出现的下标。
  • indexOfFirst{} : 同indexOf()
  • indexOfLast{} : 同indexLastOf()
    例:
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"))


1
14
1
7
14
12


二、字符串截取
如果你有Java或者其他语言的编程基础。相信您对字符串的截取应该不会陌生。您可以继续的往下看,就当作是对字符串截取只是的一个巩固。当然,您也可以直接的跳过本节内容,因为在Kotlin中,字符串的截取的函数subString()是调用了Java中的subString()函数。
在Kotlin中除了调用subString()函数外,还可以调用subSequence()函数,有兴趣的朋友可以去看看源码。
2.1、 用subString()函数截取
我们看一看subString()函数的源码

@kotlin.internal.InlineOnlypublic inline fun String.substring(startIndex: Int): String = (this as java.lang.String).
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值