kotlin --字符串的处理和正则表达式

基本处理

kotlin 字符串的处理

在Kotlin中,处理字符串可以使用许多内建函数和操作符。以下是一些常见的字符串处理任务及其Kotlin代码示例:

字符串拼接:

val str1 = "Hello"
val str2 = "World"
val result = str1 + " " + str2 // 结果为 "Hello World"

字符串长度:

val str = "Hello"
val length = str.length // 结果为 5

字符串比较:

val str1 = "Hello"
val str2 = "World"
val isEqual = str1 == str2 // 结果为 false
val isNotEqual = str1 != str2 // 结果为 true

字符串搜索:

val str = "Hello World"
val index = str.indexOf("World") // 结果为 6

字符串替换:

val str = "Hello World"
val index = str.indexOf("World") // 结果为 6

字符串分割:

val str = "Hello,World,Kotlin"
val split = str.split(",") // 结果为 ["Hello", "World", "Kotlin"]

字符串大小写转换:

val str = "Hello World"
val lower = str.toLowerCase() // 结果为 "hello world"
val upper = str.toUpperCase() // 结果为 "HELLO WORLD"

字符串去空格:

val str = " Hello World "
val trimmed = str.trim() // 结果为 "Hello World"

字符串格式化:

val name = "World"
val formatted = "Hello, $name!" // 结果为 "Hello, World!"

字符串模式匹配:

val str = "Hello World"
val matches = Regex("^[a-zA-Z\\s]+$").matches(str) // 结果为 true 或 false

正则表达式

正则表达式用于文本搜索和更高级的文本操作。

要使用它的功能, 我们需要使用Regex(pattern:String)类。

Kotlin的Regex类可在kotlin.text.regex包中找到。

Kotlin Regex构造函数

Regex(pattern: String)它根据给定的字符串模式创建一个正则表达式。
正则表达式(模式:字符串, 选项:RegexOption)它根据给定的字符串模式和给定的单个选项创建一个正则表达式。
正则表达式(模式:字符串, 选项:Set <RegexOption>)它根据给定的字符串模式和给定的选项集创建一个正则表达式。

正则表达式功能

功能说明
fun containsMatchIn(input:CharSequence):布尔值它表示正则表达式至少包含一个输入字符
有趣的发现(输入:CharSequence, startIndex:Int = 0):MatchResult?从给定的startIndex开始, 它返回输入字符序列中正则表达式的第一个匹配项。
有趣的findAll(输入:CharSequence, startIndex:Int = 0):Sequence <MatchResult>它从给定的startIndex开始, 返回输入字符串中所有出现的正则表达式。
funmatchEntire(input:CharSequence):MatchResult?它用于匹配模式中完整的输入字符。
中缀趣味匹配项(输入:CharSequence):布尔值它指示是否所有输入字符序列都在正则表达式中匹配。
有趣的替换(输入:CharSequence, 替换:字符串):字符串它用给定的替换字符串替换正则表达式的所有输入字符序列。
fun replaceFirst(输入:CharSequence, 替换:String):字符串它用给定的替换字符串替换给定的输入字符串中的第一次出现的正则表达式。
fun split(输入:CharSequence, 限制:Int = 0):List <String>它分割正则表达式的输入字符序列。
fun toPattern():模式fun toString():字符串它以字符串形式返回正则表达式。

包含输入模式例子
fun main(args: Array<String>){
val regex = Regex(pattern = "ko")
val matched = regex.containsMatchIn(input = "kotlin")
println(matched)}

输出:true

正则表达式函数的结果基于匹配的正则表达式模式和输入字符串。有些功能检查部分匹配, 有些检查完全匹配。

containsMatchIn() 例子
fun main(args: Array<String>){
 
val regex = """a([bc]+)d?""".toRegex()
val matched = regex.containsMatchIn(input = "xabcdy")
println(matched)}

输出:true

matchs 例子
fun main(args: Array<String>){
 
val regex = """a([bc]+)d?""".toRegex()
val matched1 = regex.matches(input = "xabcdy")
val matched2 = regex.matches(input = "xabcdyabcd")
val matched3 = regex.matches(input = "abcd")
println(matched1)
println(matched2)
println(matched3)}

输出: fasle fasle true

下表显示了一些常用的正则表达式的规则:

正则表达式含义
.匹配任何单个字符。
?一次匹配或根本不匹配前面的元素。
+与前面的元素匹配一次或多次。
*与前面的元素匹配零次或多次。
^匹配字符串中的起始位置。
$匹配字符串中的结束位置。
|备用运算符。
[abc]匹配abc
[a-c]范围; 匹配abc
[^abc]否定,匹配除abc之外的所有内容。
\s匹配空白字符。
\w匹配单词字符; 等同于[a-zA-Z_0-9]

=========================================================================

matchEntire 例子

matchEntire()函数用于匹配模式中的完整输入字符。

这些是Kotlin中处理字符串的基本操作。根据需求,可以使用更多的函数和方法,例如正则表达式匹配、字符串构建器等。

fun main(args: Array<String>){
 
val regex = Regex("abcd")
val matchResult1 = regex.matchEntire("abcd")?.value
val matchResult2 = regex.matchEntire("abcda")?.value
 
val matchResult3 = Regex("""\d+""").matchEntire("100")?.value  
val matchResult4 = Regex("""\d+""").matchEntire("100 dollars")?.value
 
println(matchResult1)
println(matchResult2)
println(matchResult3)
println(matchResult4)}

输出:

abcd

null100null

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值