<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
回想一下,在學Java時接觸的正規表示式,其實Kotlin中也是類似。只不過使用Kotlin 的語法來表達,更為簡潔。正則(Regex)用於搜尋字串或替換正規表示式物件,需要使用Regex(pattern:String)類。 在Kotlin中 Regex 是在 kotlin.text.regex 包。
建構函式 | 描述 |
---|---|
Regex(pattern: String) | 給定的字串模式建立正則式。 |
Regex(pattern: String, option: RegexOption) | 給定的字串模式建立一個正則式並給出單個選項 |
Regex(pattern: String, options: Set<RegexOption>) | 給定的字串模式和給定選項集建立正規表示式 |
方法 | 描述 |
---|---|
fun containsMatchIn(input: CharSequence): Boolean | 包含至少一個輸入字元 |
fun find(input: CharSequence, startIndex: Int = 0): MatchResult? | 返回輸入字元序列中正規表示式的第一個匹配項,從給定的startIndex開始 |
fun findAll(input: CharSequence, startIndex: Int = 0): Sequence<MatchResult> | 返回輸入字串中所有出現的正規表示式,從給定的startIndex開始 |
fun matchEntire(input: CharSequence): MatchResult? | 用於匹配模式中的完整輸入字元 |
fun matches(input: CharSequence): Boolean | 輸入字元序列是否與正規表示式匹配 |
fun replace(input: CharSequence, replacement: String): String | 用給定的替換字串替換正規表示式的所有輸入字元序列 |
這裡通過呼叫幾個常見正則函數進行幾組資料查詢,展示常用正規表示式用法:
使用場景:判定是否包含某個字串
val regex = Regex(pattern = "Kot") val matched = regex.containsMatchIn(input = "Kotlin") 執行結果: matched = true
使用場景:匹配目標字串
val regex = """a([bc]+)d?""".toRegex() val matched1 = regex.matches(input = "xabcdy") val matched2 = regex.matches(input = "abcd") 執行結果: matched1 = false matched2 = true
使用場景:返回首次出現指定字串
val phoneNumber :String? = Regex(pattern = """d{3}-d{3}-d{4}""") .find("phone: 123-456-7890, e..")?.value 結果列印: 123-456-7890
使用場景:返回所有情況出現目標字串
val foundResults = Regex("""d+""").findAll("ab12cd34ef 56gh7 8i") val result = StringBuilder() for (text in foundResults) { result.append(text.value + " ") } 執行結果: 12 34 56 7 8
使用場景:將指定某個字串替換成目標字串
val replaceWith = Regex("beautiful") val resultString = replaceWith.replace("this picture is beautiful","awesome") 執行結果: this picture is awesome
通過Kotlin中封裝好的正則函數表示式,按規定語法形式傳入待查字串資料以及規則就可以很高效獲取到目標資料,它最大的功能就是在於此。可以與Java中的正則形式類比,會掌握的更牢固。
以上就是Kotlin語言程式設計Regex正規表示式範例詳解的詳細內容,更多關於Kotlin Regex正規表示式的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45