android - 在 kotlin 中循环
问题描述
我在使用 kotlin 循环时遇到了一些麻烦
我有如下的json:
{
idEvent: "584412",
strEvent: "Huesca vs Girona",
strHomeYellowCards: "28':Ezequiel Avila;34':Juan Nunez Aguilera;45':Damian Musto;88':David Ferreiro;"
}
在我在 android studio 中生成之后,我希望这条线strHomeYellowCards
只有一个如下所示TextView
:
Ezequiel Avila 28'
Juan Nunez Aguilera 34'
Damian Musto 45'
David Ferreiro 88'
这些我的代码使它发生
fun formatNumPlayer(players: String?): String {
if (players.isNullOrBlank()) {
return players.orEmpty()
} else {
val entered = players!!.replace(";", "\n")
val splitted = entered!!.split(":")
var result: String? = null
for (i in splitted.indices) {
result += "${splitted[1]}" + " " + "${splitted[0]}" + "\n"
}
return result!!
}
}
但是结果却出乎我的意料,那么真实的代码如何呢?
解决方案
提供的 JSON 不是格式良好的 JSON。所以我假设你只是在key:value
这里粘贴了这对。
在这种情况下,将值作为字符串并对其进行处理将是实现目标的最简单方法。
// Assume bulkText is the value of key `strHomeYellowCards`
val bulkText = "28':Ezequiel Avila;34':Juan Nunez Aguilera;45':Damian Musto;88':David Ferreiro;"
var result = ""
bulkText.split(';').forEach{
result += it.split(':').asReversed().reduce{ sum, element -> sum + ' ' + element } + '\n'
}
// result should be your desired output
println(result)
推荐阅读
- c# - await 任务不等待
- python - 散景图未使用下拉菜单更新。如何使用下拉菜单更改图中的 y 值?
- codahale-metrics - dropWiizard metrics.core 4.2.0-beta * 中缺少 metricRegistery.settableGauge(String) 方法?
- sql-server-2019 - 通过在单用户模式下启动实例来启用 SQL 加速数据库恢复
- atom-editor - vim-mode-plus 产生类未找到错误
- reactjs - 单击子组件上的按钮时使父组件成为焦点
- python - Python pd.read_sql 数据帧 KeyError
- c - 关于偏移量和逐行读取文件的问题
- html - 如何从 url 中删除端口以使 xampp 数据库中的图像源正常工作?
- javascript - javacript 字符串文字意外行为