如何去除字符串数组元素间空格且保留元素内空格?
解决数组转列表时保留元素内空格、去除元素间空格的问题
你的核心需求是把数组元素整理成每行一个的列表,同时保留元素内部(比如"Item 1"里的)空格,只去掉元素之间的多余空格。
最优解法:直接用joinToString一步到位
完全不用绕弯子转成列表字符串再拆分替换,数组本身就有joinToString方法,可以直接指定元素间的分隔符为换行符,完美满足需求:
private fun strArrayInListForm() { val strArray = arrayOf("Item 1", "Item 2", "Item 3", "Item 4", "Item 5") val getItems = strArray.joinToString("\n") println(getItems) }
运行后输出就是:
Item 1 Item 2 Item 3 Item 4 Item 5
如果要修正你原来的思路
如果一定要保留先转列表字符串再处理的逻辑,只需要把全局替换空格改成给每个拆分后的元素去除前后空格,而不是删掉所有空格:
private fun strArrayInListForm() { val strArray = arrayOf("Item 1", "Item 2", "Item 3", "Item 4", "Item 5") val splitItems = strArray.toList().toString() val getItems = splitItems.removeSurrounding("[", "]") .split(",") .map { it.trim() } // 只去掉每个元素前后的空格,保留内部空格 .joinToString("\n") println(getItems) }
这里用removeSurrounding("[", "]")替代两次replace更简洁,map { it.trim() }精准处理每个元素的前后空格,不会影响元素内部的空格。
内容的提问来源于stack exchange,提问作者Mitavo
相关产品推荐
相关产品推荐

