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>?
报错如下: 解决如下: 另一种情况: 解决如下:
随机推荐
- angularjs的ng-class
<!--第一种 直接加变量--> <div ng-class="tempClass"></div> <!--第二种 用{{}} 包住的变量 ...
- Java 工程名上有个红色叹号
biuldpath把带×号的jar包remove保存,重新添加jar包
- crawlspider 多分页处理
提问:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法). 方法二:基 ...
- MySQL死锁问题分析及解决方法实例详解(转)
出处:http://www.jb51.net/article/51508.htm MySQL死锁问题是很多程序员在项目开发中常遇到的问题,现就MySQL死锁及解决方法详解如下: 1.MySQL常用 ...
- glob获取指定目录下的东西+更改工作目录
一:不更改工作目录 import glob path = 'image/imgs/*.jpg' # 正则匹配 指定路径 file_path = glob.glob(path) # 即可获取所有jpg的 ...
- [转]asp+oracle分页
PageSize:每页显示的记录数.PageCount:根据用户设定好的PageSize和表中的总记录数,系统自动算出总页数.RecordCount:表中的总记录数.AbsolutePage:表示当前 ...
- win7 CMD登录本机MySQL数据库管理
- pip 国内源
pip install django -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com pip in ...
- 15.unbuntu下安装vmware-tools
链接地址:https://blog.csdn.net/yuanxiang01/article/details/78787823
- Redis、MongoDB及Memcached的区别
Redis(内存数据库) 是一个key-value存储系统(布式内缓存,高性能的key-value数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).l ...