MST

星途 面试题库

面试题:Kotlin正则表达式与分组捕获

假设给定字符串 "Name: John, Age: 30",请使用Kotlin的正则表达式提取出名字和年龄,并将其分别存储到变量中,写出实现的代码逻辑及关键步骤说明。
33.3万 热度难度
编程语言Kotlin

知识考点

AI 面试

面试题答案

一键面试
fun main() {
    val input = "Name: John, Age: 30"
    // 定义正则表达式模式
    val pattern = Regex("Name: (\\w+), Age: (\\d+)")
    // 匹配输入字符串
    val matchResult = pattern.find(input)
    if (matchResult != null) {
        // 提取名字和年龄
        val name = matchResult.groupValues[1]
        val age = matchResult.groupValues[2].toInt()
        println("Name: $name, Age: $age")
    }
}

关键步骤说明

  1. 定义输入字符串:创建包含名字和年龄信息的字符串input
  2. 定义正则表达式模式:使用Regex类定义正则表达式,(\\w+)用于匹配名字(一个或多个单词字符),(\\d+)用于匹配年龄(一个或多个数字字符)。
  3. 匹配输入字符串:使用pattern.find(input)方法在输入字符串中查找匹配项。
  4. 提取名字和年龄:如果找到匹配项,通过matchResult.groupValues获取分组的值,索引1对应名字,索引2对应年龄,并将年龄转换为整数类型。
  5. 输出结果:将提取出的名字和年龄打印输出。