MST

星途 面试题库

面试题:Kotlin字符串正则表达式复杂匹配

假设你有一个Kotlin字符串,它可能包含形如`{变量名:数据类型}`的格式片段,例如`{name:String}`,`{age:Int}`等。请编写一个函数,接收这样的字符串,使用正则表达式提取出所有的变量名和对应的数据类型,并以`Map<String, String>`的形式返回,其中键为变量名,值为数据类型。例如输入字符串`'用户信息:{name:String},{age:Int}'`,函数应返回`{name=String, age=Int}`。
13.7万 热度难度
编程语言Kotlin

知识考点

AI 面试

面试题答案

一键面试
import java.util.regex.Pattern

fun extractVariables(str: String): Map<String, String> {
    val pattern = Pattern.compile("\\{(\\w+):(\\w+)\\}")
    val matcher = pattern.matcher(str)
    val result = mutableMapOf<String, String>()
    while (matcher.find()) {
        result[matcher.group(1)] = matcher.group(2)
    }
    return result
}