gpt4 book ai didi

string - 如何在Kotlin中将字符串转换为实体

转载 作者:行者123 更新时间:2023-12-02 13:12:09 27 4
gpt4 key购买 nike

我有一个像下面这样的字符串:
str = "Test(a=10, b=100, c=1.0, d=2.0)"
Test实体为:

data class Test(
val a: int = 0,
val b: Int = 0,
val c: Double = 0.0,
val d: Double = 0.0
)

如何将字符串 str转换为 Test实体?

谢谢!!

最佳答案

正则表达式似乎是一个合适的选择:

data class Test(val a: Int = 0, val b: Int = 0, val c: Double = 0.0, val d: Double = 0.0)
fun main() {
val str = "Test(a=10, b=100, c=1.0, d=2.0)"
print(getTest(str))
}
fun getTest(str: String): Test {
val regex = """Test\(a=(.+), b=(.+), c=(.+), d=(.+)\)""".toRegex()
val matches = regex.find(str)
return matches?.groupValues?.let { groups ->
Test(groups[1].toInt(), groups[2].toInt(), groups[3].toDouble(), groups[4].toDouble())
} ?: Test()
}

如果您打算将对象存储为字符串以重新实例化它们,请考虑序列化。看看 here

关于string - 如何在Kotlin中将字符串转换为实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59385099/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com