从 Kotlin 中的列表或哈希映射数组列表中拆分字符串
Posted
技术标签:
【中文标题】从 Kotlin 中的列表或哈希映射数组列表中拆分字符串【英文标题】:Split String from list or hash map array list in Kotlin 【发布时间】:2021-12-13 16:36:03 【问题描述】:我在 Json 列表中有这个输出,我想在我的应用中使用这个列表的值
val dataOfTestToJson = Gson().toJson(maps)
//I want this
E = 2 + 0 + 2 + 1
I = 2 + 0
//这是输出
["Q1":"E_2","Q2":"E_0","Q3":"E_2","Q4":"I_2","Q5":"I_0","Q6":"E_1"]
我想获取例如字符串中的 E 和 -2 将其用作公式中的数字。如何提取这些实体中的每一个并将它们放入变量(E 和 I)中?
【问题讨论】:
【参考方案1】:我不完全确定这是否是您的意思。但是,如果您想将所有 E_ 值加到一个变量中,并将所有 I_ 加到另一个变量中,您可以使用正则表达式来完成,而无需制作任何列表、映射或其他对象,只需使用您得到的字符串。
例如这样:
val response = """["Q1":"E_2","Q2":"E_0","Q3":"E_2","Q4":"I_2","Q5":"I_0","Q6":"E_1"]"""
val eRegex = Regex("E_(\\d+)")
val iRegex = Regex("I_(\\d+)")
val e = eRegex.findAll(response).map it.groupValues[1].toInt() .sum()
val i = iRegex.findAll(response).map it.groupValues[1].toInt() .sum()
e
在这种情况下为 5,i
为 2
【讨论】:
非常感谢您让我开心..以上是关于从 Kotlin 中的列表或哈希映射数组列表中拆分字符串的主要内容,如果未能解决你的问题,请参考以下文章