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. 在同一个Linux上配置多个git账户

    1.首先在~/.ssh目录下执行 ssh-keygen -t rsa -C "miaoying.new@qq.com" 其中 -C "miaoying.new@qq.co ...

  2. windows设置电脑的固定IP

    当有需要的人往往想要固定自己的IP进行测试,在我通过手机代理来录制测试带宽时不想因为IP经常变更而影响到我的测试 因此,我想要固定自己的IP 1.想要固定IP说明自己的IP设置成了自动获取方式,这样连 ...

  3. SpringBoot异步请求

    何为异步请求 在Servlet 3.0之前,Servlet采用Thread-Per-Request的方式处理请求,即每一次Http请求都由某一个线程从头到尾负责处理.如果一个请求需要进行IO操作,比如 ...

  4. CentOS7开机时的菜单选项及时间的修改

    一.在CentOS更新后,并不会自动删除旧内核.所以在启动选项中会有多个内核选项,可以手动使用以下命令删除多余的内核:(正常下,第一个选项正常启动,第二个选项急救模式启动(系统出项问题不能正常启动时使 ...

  5. C#找出第n到m个素数之间所有之和

    static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); //开始的数 int m = int.Parse(Co ...

  6. 获取get请求后面的参数

    var str = "www.baidu.com?id=1&name=zhangsan"; var data = str.split("?"); con ...

  7. 56.纯 CSS 描述程序员的生活

    原文地址:https://segmentfault.com/a/1190000015316996 感想:动画加延时,white-space: pre; 保留HTML p 中刻意留下的空白. HTML ...

  8. Linux 虚拟机的安全加固建议

    1.修改用户的密码口令策略:   [root@centos-73-1 chpaadmin]# cat /etc/login.defs |grep -i pass # passwd command) s ...

  9. 1. orcle 创建可扩展表空间

    1.创建表空间 a). create tablespace tablespacename datafile 'D:\tablespace\tablespacename.dbf' size 200m a ...

  10. django之signal机制分析

    django的signal在djangobb中的使用: from django.db.models.signals import post_save from django.dispatch impo ...