kotlin string
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的更多相关文章
- kotlin语法使用笔记
kotlin中文文档:http://www.kotlindoc.cn/ClassesAndObjects/Classes-and-Inheritance.html 1. 声明类的构造方法 例如继承Fr ...
- Kotlin反射实践操作详解
继续对反射进行实战. 获取构造方法: 先定义一个主构造方法,2个次构造方法,接下来咱们用反射来获取一下构造方法: 其结果: [fun <init>(kotlin.Int, kotlin.S ...
- Kotlin反射重要组件与流程详解
继续学习Kotlin反射,我们知道对于Java的反射类是Class,而在Kotlin中的反射类是KClass,而在Java当中对于反射中的方法是用Method,而在Kotlin中是用KFunction ...
- Kotlin中反射
枚举类成员 import kotlin.reflect.full.memberFunctions import kotlin.reflect.full.memberProperties fun mai ...
- Kotlin——初级篇(八):关于字符串(String)常用操作汇总
在前面讲解Kotlin数据类型的时候,提到了字符串类型,当然关于其定义在前面的章节中已经讲解过了.对Kotlin中的数据类型不清楚的同学.请参考Kotlin--初级篇(三):数据类型详解这篇文章. 在 ...
- Kotlin学习快速入门(1)——基本数据类型以及String常用方法使用
本文适合有Java基础的人 Kotlin语法特点 相比java,省略括号,可以自动判断类型,省略new关键字,空指针捕获 主函数 kotlin文件(kt文件)中,只有要下列的方法,就可以运行,无需像之 ...
- Kotlin——关于字符串(String)常用操作汇总
在前面讲解Kotlin数据类型的时候,提到了字符串类型,当然关于其定义在前面的章节中已经讲解过了.对Kotlin中的数据类型不清楚的同学.请参考Kotlin——初级篇(三):数据类型详解这篇文章. 在 ...
- Kotlin实现LeetCode算法题之String to Integer (atoi)
题目String to Integer (atoi)(难度Medium) 大意是找出给定字串开头部分的整型数值,忽略开头的空格,注意符号,对超出Integer的数做取边界值处理. 方案1 class ...
- 【kotlin】报错 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type List<String>?
报错如下: 解决如下: 另一种情况: 解决如下:
随机推荐
- 在同一个Linux上配置多个git账户
1.首先在~/.ssh目录下执行 ssh-keygen -t rsa -C "miaoying.new@qq.com" 其中 -C "miaoying.new@qq.co ...
- windows设置电脑的固定IP
当有需要的人往往想要固定自己的IP进行测试,在我通过手机代理来录制测试带宽时不想因为IP经常变更而影响到我的测试 因此,我想要固定自己的IP 1.想要固定IP说明自己的IP设置成了自动获取方式,这样连 ...
- SpringBoot异步请求
何为异步请求 在Servlet 3.0之前,Servlet采用Thread-Per-Request的方式处理请求,即每一次Http请求都由某一个线程从头到尾负责处理.如果一个请求需要进行IO操作,比如 ...
- CentOS7开机时的菜单选项及时间的修改
一.在CentOS更新后,并不会自动删除旧内核.所以在启动选项中会有多个内核选项,可以手动使用以下命令删除多余的内核:(正常下,第一个选项正常启动,第二个选项急救模式启动(系统出项问题不能正常启动时使 ...
- C#找出第n到m个素数之间所有之和
static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); //开始的数 int m = int.Parse(Co ...
- 获取get请求后面的参数
var str = "www.baidu.com?id=1&name=zhangsan"; var data = str.split("?"); con ...
- 56.纯 CSS 描述程序员的生活
原文地址:https://segmentfault.com/a/1190000015316996 感想:动画加延时,white-space: pre; 保留HTML p 中刻意留下的空白. HTML ...
- Linux 虚拟机的安全加固建议
1.修改用户的密码口令策略: [root@centos-73-1 chpaadmin]# cat /etc/login.defs |grep -i pass # passwd command) s ...
- 1. orcle 创建可扩展表空间
1.创建表空间 a). create tablespace tablespacename datafile 'D:\tablespace\tablespacename.dbf' size 200m a ...
- django之signal机制分析
django的signal在djangobb中的使用: from django.db.models.signals import post_save from django.dispatch impo ...