Kotlin String split 操作实践

 

内容

此文章展示kotlin中对String字符串的split操作,如果你有遇到这方面的需求,希望对你有用。

1. split + 正则

先看下系统函数的定义,接收两个函数:
    regex:表示一个不可变的正则表达式
    limit:非负的值指定要返回的子字符串的最大数量。零默认方式是无限制的

inline fun CharSequence.split(regex: Regex, limit: Int = 0): List<String>

kotlin 提供了扩展函数toRegex()将字符串转换为正则表达式,下面请看

栗子:

val str = "Kotlination.com = Be Kotlineer - Be Simple - Be Connective"

val separate1 = str.split("=|-".toRegex())

运行结果:

[Kotlination.com , Be Kotlineer , Be Simple , Be Connective]

2. split + 任意字符串

先看函数定义:
delimiters:一个或多个字符作为分隔符
ignoreCase: 在匹配分隔符时忽略字符情况。默认'false'。
limit:返回子字符串的最大数量

fun CharSequence.split(vararg delimiters: String, ignoreCase: Boolean = false, limit: Int = 0): List<String>

栗子:

val str = "Kotlination.com = Be Kotlineer - Be Simple - Be Connective"

val separate2 = str.split(" = "," - ")

结果:

[Kotlination.com , Be Kotlineer , Be Simple , Be Connective]

kotlin string的更多相关文章

  1. kotlin语法使用笔记

    kotlin中文文档:http://www.kotlindoc.cn/ClassesAndObjects/Classes-and-Inheritance.html 1. 声明类的构造方法 例如继承Fr ...

  2. Kotlin反射实践操作详解

    继续对反射进行实战. 获取构造方法: 先定义一个主构造方法,2个次构造方法,接下来咱们用反射来获取一下构造方法: 其结果: [fun <init>(kotlin.Int, kotlin.S ...

  3. Kotlin反射重要组件与流程详解

    继续学习Kotlin反射,我们知道对于Java的反射类是Class,而在Kotlin中的反射类是KClass,而在Java当中对于反射中的方法是用Method,而在Kotlin中是用KFunction ...

  4. Kotlin中反射

    枚举类成员 import kotlin.reflect.full.memberFunctions import kotlin.reflect.full.memberProperties fun mai ...

  5. Kotlin——初级篇(八):关于字符串(String)常用操作汇总

    在前面讲解Kotlin数据类型的时候,提到了字符串类型,当然关于其定义在前面的章节中已经讲解过了.对Kotlin中的数据类型不清楚的同学.请参考Kotlin--初级篇(三):数据类型详解这篇文章. 在 ...

  6. Kotlin学习快速入门(1)——基本数据类型以及String常用方法使用

    本文适合有Java基础的人 Kotlin语法特点 相比java,省略括号,可以自动判断类型,省略new关键字,空指针捕获 主函数 kotlin文件(kt文件)中,只有要下列的方法,就可以运行,无需像之 ...

  7. Kotlin——关于字符串(String)常用操作汇总

    在前面讲解Kotlin数据类型的时候,提到了字符串类型,当然关于其定义在前面的章节中已经讲解过了.对Kotlin中的数据类型不清楚的同学.请参考Kotlin——初级篇(三):数据类型详解这篇文章. 在 ...

  8. Kotlin实现LeetCode算法题之String to Integer (atoi)

    题目String to Integer (atoi)(难度Medium) 大意是找出给定字串开头部分的整型数值,忽略开头的空格,注意符号,对超出Integer的数做取边界值处理. 方案1 class ...

  9. 【kotlin】报错 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type List<String>?

    报错如下: 解决如下: 另一种情况: 解决如下:

随机推荐

  1. angularjs的ng-class

    <!--第一种 直接加变量--> <div ng-class="tempClass"></div> <!--第二种 用{{}} 包住的变量 ...

  2. Java 工程名上有个红色叹号

    biuldpath把带×号的jar包remove保存,重新添加jar包

  3. crawlspider 多分页处理

    提问:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法). 方法二:基 ...

  4. MySQL死锁问题分析及解决方法实例详解(转)

      出处:http://www.jb51.net/article/51508.htm MySQL死锁问题是很多程序员在项目开发中常遇到的问题,现就MySQL死锁及解决方法详解如下: 1.MySQL常用 ...

  5. glob获取指定目录下的东西+更改工作目录

    一:不更改工作目录 import glob path = 'image/imgs/*.jpg' # 正则匹配 指定路径 file_path = glob.glob(path) # 即可获取所有jpg的 ...

  6. [转]asp+oracle分页

    PageSize:每页显示的记录数.PageCount:根据用户设定好的PageSize和表中的总记录数,系统自动算出总页数.RecordCount:表中的总记录数.AbsolutePage:表示当前 ...

  7. win7 CMD登录本机MySQL数据库管理

  8. pip 国内源

    pip install django -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com pip in ...

  9. 15.unbuntu下安装vmware-tools

    链接地址:https://blog.csdn.net/yuanxiang01/article/details/78787823

  10. Redis、MongoDB及Memcached的区别

    Redis(内存数据库) 是一个key-value存储系统(布式内缓存,高性能的key-value数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).l ...