string - 如何遍历字符串列表并在 Kotlin 中连接它们?
问题描述
我有一个字符串列表,例如:
listOf("1", "2", "3", "4", "+", "3")
我想连接,以便我只得到数字:"1234"
。我首先尝试使用有效的 for 循环。
但是我想知道 Kotlin 是否有一种方法可以使用一条很好的一行来衬里整个事物,例如:
val myList = listOf("1", "2", "3", "4", "+", "3")
someConcatenationFunction(myList) // returns "1234"
解决方案
我找到的解决方案是这样的(放在一个单独的文件中):
fun List<String>.concat() = this.joinToString("") { it }.takeWhile { it.isDigit() }
所以基本上,它的作用是:
joinToString("")
:JoinToString
将列表的内容连接到字符串,""
指定您不希望在连接的字符串中使用任何分隔符。{ it }.takeWhile { it.isDigit() }
: 表示从串联列表中,我只想要数字字符。takeWhile
将在第一个非数字处停止。
给你!现在您可以简单地执行以下操作:
listOf("1", "2", "3", "4", "+", "3").concat() // returns "1234"
推荐阅读
- arrays - 在服务中调用 $http.get 时返回一个空数组
- vba - 限制项目不返回任何结果,只是 0
- java - javax.ws.rs.ProcessingException:找不到内容类型 application/json 和类型类的 MessageBodyReader
- javascript - 如何在香草 javascript 中实现 lodash _.throttle?
- oauth-2.0 - Microsoft 图形 API:无法使用生成的访问令牌获取用户
- java - 如何运行 kotlin 类文件并指定一个或多个库 jar 文件?
- python-3.x - 从 Twitter 请求个人资料图片时睡觉?
- time-series - 在 R 中带有 xreg 的 auto.arima,对预测期的限制
- reactjs - TypeError:无法将 undefined 或 null 转换为对象 React Validation
- mysql - ER_PARSE_ERROR:您的 SQL 语法有错误;